Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
[C++] Return
4 / 4 / 1
Регистрация: 11.09.2012
Сообщений: 110
#1

Сравнить два кода с условием - C++

22.01.2014, 11:34. Просмотров 321. Ответов 6
Метки нет (Все метки)

C++
1
2
3
if(a == 1) b = 2;
else b = 3;
c = 2;
C++
1
2
3
if(a== 1) {  b = 2 }
else { b = 3 }
c = 2;
Тоже самое произойдет?
Или в 1 варианте в случае неверного условия b = 3, c = 2 а во 2 варианте в случае неверного условия b = 3 и c = 2 при любом условии?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 11:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнить два кода с условием (C++):

Сравнить два массива - C++
Подскажите пожалуйста как решить задачу: Нужно сравнить два массива, проверить все элементы на совпадение и если они совпадают то вывести...

Сравнить два подмножества в матрице - C++
подскажите пжл как сравнить 2 подмножества в матрице

Как сравнить два слова - C++
как сравнить два слова в массиве структур ? // masS.stud=go_23 // // masS.stud=go_23 // ... if(masS.stud==masS.stud) //...

Сравнить логически два массива - C++
Сравнить , используя логическое или(||) два одномерных массива (А и В) и записать результат в массив С Массивы создал , но не знаю как...

Сравнить два контейнера set - C++
Всем добрый вечер . Как сравнить два контейнера set? Допустим: set <int> m1; set <int> m2; for( int i = 0; i < 5;...

Сравнить два любых файла на С++ - C++
В общем задача такая: Надо сравнить два любых файла(ехе, doc, pdf) - и вывести сообщение: а) если они различаются - то место(номер)...

6
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,213
Записей в блоге: 27
22.01.2014, 11:37 #2
c=2; произойдет в любом случае, так как эта строка вне цикла находится.
Операторные скобки не обязательно ставить, если после проверки условия одна строка. Если более - тогда нужны скобки. Потому разницы между первым и вторым вариантом никакой.
1
monolit
186 / 185 / 22
Регистрация: 24.03.2011
Сообщений: 669
Завершенные тесты: 1
22.01.2014, 11:38 #3
Если несколько команд относится к блоку, тогда их заключать в скобочки. Если команда одна - скобочки не обязательны. Т.е. у тебя написано сейчас два альтернативных варианта записи.

C++
1
2
3
4
5
if(a== 1) b = 2; //одна команда
else { //а тут две
b = 3;
c = 2;
}
Но не забывайте ; ставить...
0
solar_wind
757 / 748 / 42
Регистрация: 06.07.2009
Сообщений: 2,970
Завершенные тесты: 1
22.01.2014, 11:40 #4
[C++] Return, Есть кое какая разница. Второй вариант ошибки будет выдавать, так как там ; не хватает в двух местах.
1
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,213
Записей в блоге: 27
22.01.2014, 11:45 #5
Цитата Сообщение от solar_wind Посмотреть сообщение
[C++] Return, Есть кое какая разница. Второй вариант ошибки будет выдавать, так как там ; не хватает в двух местах.
Да, не обратила внимания. Спасибо.
0
[C++] Return
4 / 4 / 1
Регистрация: 11.09.2012
Сообщений: 110
22.01.2014, 20:05  [ТС] #6
Цитата Сообщение от solar_wind Посмотреть сообщение
[C++] Return, Есть кое какая разница. Второй вариант ошибки будет выдавать, так как там ; не хватает в двух местах.
Да, тоже не обратил внимания, код для примера быстро набросал, пропустил ;
0
MrGluck
Модератор
Эксперт CЭксперт С++
7496 / 4611 / 694
Регистрация: 29.11.2010
Сообщений: 12,621
22.01.2014, 20:29 #7
Фишка в том, что если не указывать фигурных скобок, то в тело цикла или условия помещает лишь одну инструкцию, следующую после объявления конструкции. Это может порождать ошибки, когда человек пишет несколько инструкций без фигурных скобок (чаще всего даже с одинаковыми отступами) и ожидает их выполнения в теле цикла/условия, а не "вне" его.
Далее - ваш пример лучше переписать с использованием тернарного оператора:
C++
1
2
b = (a == 1 ? 2 : 3);
c = 2;
0
22.01.2014, 20:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2014, 20:29
Привет! Вот еще темы с ответами:

Как сравнить два символа? - C++
Я сегодня пытался решить задачу и столкнулся с проблемой. Мне нужно было сравнить элементы массива с символами. (a=="B")&&(a=="G") На...

Как сравнить два массива - C++
Здравствуйте форумчане! Помогите пожалуйста, скажите как сравнить два массива побитово и побайтово. В инете ни чего не могу найти((

Сравнить два введённых слова - C++
Всем привет!! Помогите решить задачку: ввести два слова и сравнить их. Вот я почти решил, надо как-то внедрить проверку длины слова...

Сравнить два вектора размерности n - C++
Как сравнить два вектора размерности n? Например вектор a(2,3,2) сравнить с вектором b(1,3,3). Какой из векторов больше? Вообще можно ли их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.