HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3441  
Старый 07.08.2009, 22:00
horlyk
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
С нами: 9705420

Репутация: 21
По умолчанию

Цитата:
Сообщение от N5W  
почему == ? чем оно лучше ? )
Ты переменной значение как присваиваешь?
int a = 3;
А проверяешь на равенство как?
a == 3;

следовательно в условии ты не проверяешь на равенство значение переменной со значением, которым нужно сравнивать. Ты присваиваешь переменной новое значение.
этот вариант правильный:
Код:
int a = 3;
if( a == 3)
     cout << "a = 3\n";
else
    cout << "a != 3";
а этот вариант не правильный:
Код:
int a = 3;
if( a = 3)
     cout << "a = 3\n";
else
    cout << "a != 3";
Тут ты делаешь совсем другую вещь. Ты присваиваешь
переменной а новое значение. Следовательно, пока ты в if() будешь присваивать положительные числа, или числа меньше нуля, будет выполняться именно if(), а не else. Но если ты в if() присвоишь значение переменной 0, то будет выполняться оператор else.
Как уже написал razb выше - что бы в дальнейшем такую невнимательность отсекать на этапе компиляции константы следует писать слева.

То есть лучше сделать вот так:
Код:
const int a = 3;
if( a == 3)
     cout << "a = 3\n";
else
    cout << "a != 3";
В таком случае ты точно не ошибешься. Но это пример только для того, чтоб привычка выработалась писать именно знак проверки на равенство, а не присвоения в условных операторах.

Последний раз редактировалось horlyk; 07.08.2009 в 22:05..
 
Ответить с цитированием

  #3442  
Старый 07.08.2009, 22:48
ASQX
Познающий
Регистрация: 21.06.2008
Сообщений: 57
С нами: 9414715

Репутация: 44
По умолчанию

есть какай-нибудь разница между книгами по Си++ от Джесса Либерти? ну я видел есть 5-ое издание, а я сейчас читаю 3-е,
 
Ответить с цитированием

  #3443  
Старый 08.08.2009, 01:31
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами: 9017461

Репутация: 414


По умолчанию

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

  #3444  
Старый 08.08.2009, 02:40
N5W
Новичок
Регистрация: 17.08.2007
Сообщений: 4
С нами: 9860168

Репутация: 0
По умолчанию

хмм пасибо шо разьяснил )))
 
Ответить с цитированием

  #3445  
Старый 08.08.2009, 06:05
maptime
Новичок
Регистрация: 05.06.2009
Сообщений: 27
С нами: 8912459

Репутация: 12
По умолчанию

Кто каким компилятором пользуется ?
 
Ответить с цитированием

  #3446  
Старый 08.08.2009, 13:35
horlyk
Участник форума
Регистрация: 02.12.2007
Сообщений: 132
С нами: 9705420

Репутация: 21
По умолчанию

Цитата:
Сообщение от maptime  
Кто каким компилятором пользуется ?
от Visual Studio 2005, хотя скоро на 2008-й перейду
 
Ответить с цитированием

  #3447  
Старый 08.08.2009, 16:27
[XAOC]
Новичок
Регистрация: 06.10.2008
Сообщений: 3
С нами: 9261211

Репутация: 5
По умолчанию

Цитата:
Сообщение от [XAOC]  
Здравствуйте

У меня возник вопрос, каким образом на C организовать быстрое удаление строки из файла ?, ну как это например сделано во многих брутах(очищение source файла), веть перезаписывать каждый раз файл(а он может достигать внушительных размеров) не есть гуд.
кто-нибудь ответит на мой вопрос ?)
 
Ответить с цитированием

  #3448  
Старый 08.08.2009, 18:23
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

ну тока так. просто можешь оптимизировать и хранить строки в памяти. а потом соответственно их записывать. даже если ты заюзаешь какой нить класс, который выполняет удаление указанной строки, он работает по такому же принципу =)
 
Ответить с цитированием

  #3449  
Старый 08.08.2009, 21:04
N5W
Новичок
Регистрация: 17.08.2007
Сообщений: 4
С нами: 9860168

Репутация: 0
По умолчанию

такой вопрос , можно какнить сделать чтобы консольное приложение на с++ не закрывалось сразу при двойном щелчке, заело постоянно открывать смд и запускать через ком , строку(
 
Ответить с цитированием

  #3450  
Старый 08.08.2009, 21:08
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 1676


По умолчанию

Цитата:
такой вопрос , можно какнить сделать чтобы консольное приложение на с++ не закрывалось сразу при двойном щелчке, заело постоянно открывать смд и запускать через ком , строку(
getch в конце напиши или там cin или system("pause")
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.