int main()
{
int var1=4, var2=6;
var2=var2||var1++&&printf("computer world");
printf("%d%d",var1,var2);
getch();
}
Отпечатанный ответ 41.c программа, которая использует логические операторы
Вопрос:
Здесь он не печатает «компьютерный мир». В соответствии с порядком приоритета мы должны вычислить логический оператор &&
, но поведение здесь не такое, и значение var1
должно увеличиваться после этого оператора, но этого не происходит. Ожидаемый ответ computer world51
.
Это дубликат, по крайней мере один недавний вопрос, и, возможно, несколько старше из них. Это вопрос приоритетности и порядка исполнения. –
Вы просто скопируете исходный код в Google. Вы можете найти несколько сайтов, имеющих один и тот же вопрос. –
Возможный дубликат [Проблема с приоритетом оператора] (http://stackoverflow.com/questions/7212482/problem-with-operator-precedence). Другой был [почему оператор с более низким приоритетом выполняется первым] (http://stackoverflow.com/questions/12152143/why-lower-precedence-operator-executes-first). –