Задать вопрос
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"); 
}
  • Вопрос задан
  • 149 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
Всё логично. Операция || даёт единицу, если хотя бы один параметр не 0, и ноль — если оба нули.
К тому же операция || «экономная». Если первый аргумент не ноль — результат автоматически 1.

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

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

Похожие вопросы