Рубрики

C | Операторы | Вопрос 1

#include "stdio.h" int main()    int x, y = 5, z = 5;    x = y == z;    printf("%d", x);        getchar();    return 0;  }

(А) 0
(Б) 1
(С) 5
(D) Ошибка компилятора

Ответ: (Б)

 

Пояснение: суть вопроса заключается в утверждении x = y == z. Оператор == выполняется перед =, потому что приоритет операторов сравнения (<=,> = и ==) выше, чем оператор присваивания =.
Результат оператора сравнения равен 0 или 1 на основе результата сравнения. Поскольку y равно z, значение выражения y == z становится 1, а значение присваивается x через оператор присваивания.

Рекомендуемые посты:

C | Операторы | Вопрос 1

0.00 (0%) 0 votes