тернарный оператор
От: Аноним  
Дата: 26.10.05 12:52
Оценка:
Почему компилятор так не пускает
a > b ? puts("yes") : ;

а так пускает
a > b ? puts("yes") : (0) ;
Re: тернарный оператор
От: Аноним  
Дата: 26.10.05 13:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Почему компилятор так не пускает

А>
А>a > b ? puts("yes") : ;
А>

А>а так пускает
А>
А>a > b ? puts("yes") : (0) ;
А>


Потому что в первом варианте в ТЕРнарном операторе третьего выражения нет.
Во втором случае оба выражения имеют тип "целое", поэтому все ок.
Re: тернарный оператор
От: Vamp Россия  
Дата: 26.10.05 13:08
Оценка:
Потому, что выражения, стоящие по разные стороны от двоеточия, должны иметь один и тот же тип.
Да здравствует мыло душистое и веревка пушистая.
Re: тернарный оператор
От: Аноним  
Дата: 26.10.05 13:11
Оценка: -1
Здравствуйте, Аноним, Вы писали:

А>Почему компилятор так не пускает

А>
А>a > b ? puts("yes") : ;
А>

А>а так пускает
А>
А>a > b ? puts("yes") : (0) ;
А>


Потому что в первом случае если (a <= b) то программа выполняется дальше...(а это недопустимо в данном операторе):

goto A;
...
A : ;
...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.