Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Для чего ставим присвоение переменной 
V
    Опции темы
n199a
  Дата 17.4.2013, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 17.11.2011

Репутация: нет
Всего: нет



Для чего в этом примере ставится присвоение (0) переменной (symvol):
Код

    symvol = 0;

Вот полный код:
Код

#include <stdio.h>

main()
{
    long symvol;
    
    symvol = 0;
    while (getchar() != OEF)
        ++symvol;
    printf("%ld\n", symvol);
}


Это сообщение отредактировал(а) n199a - 17.4.2013, 19:24
PM MAIL   Вверх
Crafty
Дата 17.4.2013, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



n199a, переменную инициализируют нулем, потому что удобно начинать считать с нуля, плюс если неиницилизировать то в ней будет находится мусор.
PM MAIL   Вверх
n199a
  Дата 17.4.2013, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 17.11.2011

Репутация: нет
Всего: нет



Цитата(Crafty @  17.4.2013,  19:42 Найти цитируемый пост)
n199a, переменную инициализируют нулем, потому что удобно начинать считать с нуля, плюс если неиницилизировать то в ней будет находится мусор. 

Теперь понятно. Переплетается с Ассемблером (mov ax,****).


PM MAIL   Вверх
bsa
Дата 18.4.2013, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(n199a @  17.4.2013,  20:55 Найти цитируемый пост)
Переплетается с Ассемблером (mov ax,****)
причем тут ассемблер?
PM   Вверх
baldina
Дата 18.4.2013, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



ничего не переплетается.
Цитата(n199a @  17.4.2013,  19:14 Найти цитируемый пост)
long symvol;

объявляет переменную, но не определяет её значение (не инициализирует), её значение может оказаться любым. поэтому до инициализации переменной любые операции с её значением не имеют смысла.
в вашем коде по завершении цикла symvol, видимо, должен содержать число прочитанных байт. естественно, если ввод пуст, то это число - 0. отсюда начальное значение (а вовсе не потому, что так принято).

Добавлено через 2 минуты и 27 секунд
Цитата(n199a @  17.4.2013,  19:14 Найти цитируемый пост)
OEF

EOF

Это сообщение отредактировал(а) baldina - 18.4.2013, 17:03
PM MAIL   Вверх
n199a
Дата 20.4.2013, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 17.11.2011

Репутация: нет
Всего: нет



Цитата(bsa @  18.4.2013,  16:31 Найти цитируемый пост)
причем тут ассемблер? 

При том, что, MOV AX,1 присваивает регистру AX значение 1, а если этого не сделать, то там будет старый мусор.
PM MAIL   Вверх
kolesnle
Дата 20.4.2013, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 22.3.2013

Репутация: нет
Всего: нет




Лучше писать так 
Код

long symbool = 0;

 поверь smile 
PM MAIL   Вверх
bsa
Дата 20.4.2013, 21:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



n199a, операция mov не присваевает. А засылает. У других процессоров (отличных от x86) используется ld/load - загрузить.
И не надо пытаться бравировать своими знаниями ассемблера, учитывая, что они почти нулевые и сильно устарели.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.