dmitry_dev33
@dmitry_dev33

Почему a=1, i=1, j=2?

void main() 
{ 
setlocale(LC_ALL, "RUS"); 
int i=1,j=2; 
int a=i||j++; 
printf("\n"); 
printf("\n Ответ= %d", a); 
printf("\n Ответ= %d", i); 
printf("\n Ответ= %d", j); 
printf("\n"); 
system("pause"); 
}
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
Всё логично. Операция || даёт единицу, если хотя бы один параметр не 0, и ноль — если оба нули.
К тому же операция || «экономная». Если первый аргумент не ноль — результат автоматически 1.

i = 1
1 || ? = 1,
j++ не вычисляется вообще.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы