#include <stdio.h>
int main(void)
{
int a = 2, b = 3, c = 5;
double p = 3.14;
a = 3 || (--b == 2);
printf("14. %d, %d\n", a, b);
a = b % c ? b + c : printf("15. %d\n", a);
printf("16. %d\n", a);
}
코드는 위와 같은데 printf("14. %d, %d\n", a, b);의 출력값이 왜 1,2가 아니라 1,3이 되는 것인가요?
왜 1,2 가 나오는지 설명 좀
a = 3 || (--b == 2); 여기서 b : 3->2로 되는거 아닌가요?
a = 3 || (--b == 2) 이 --b==2 가 참이던 거짓이던 3 || 하면 3이잖아..
이건 컴파일러가 어떻게 최적하 하느냐에 따라 다른듯