int a = 1, b = 0;
if(a, b)
printf("success\n");
else
printf("fail\n");
if(b, a)
printf("success\n");
else
printf("fail");
Это CPP файл, и я получил выход в Visual Studio 2010, какзапятая оператор, если условие
fail
success
Почему такое поведение? Не могли бы вы объяснить?
Вы знаете, что он использует оператор запятой в состоянии, но вы должны спросить? –
Вы можете просто добавить точку останова в первый оператор и выполнить программу по строке, используя F10, чтобы увидеть поток самостоятельно. – vish213
@ DanielFischer Я знаю, что запятая действует как точка последовательности в операторах, но не в аргументах к функциям. Можете ли вы сказать мне, является ли это точкой последовательности внутри 'if'? Я интуитивно чувствую ** да **, но я бы хотел, чтобы вы подтвердить. –