#include <stdio.h>
int main(void)
{
int a = 1, i = 3, x, y, z;
a = 1; i = 3;
x = a+++i;
a = 1; i = 3;
y = a++ + i;
a = 1; i = 3;
z = a + ++i;
printf("%d %d %d", x, y, z);
scanf(" ");
return 0;
}
이 코드 출력은 4 4 5
인 것으로 보입니다. 그런데 a+++i
은 a++ + i
과 같은 이유는 무엇입니까?"a +++ i"가 "
컴파일러는 항상 소스 코드를 왼쪽에서 오른쪽으로 읽습니까?
조작이 the order of precedence을 따르므로?
그리고 모든 컴파일러에서 동일하게 작동합니까?
관련 항목 C++에서 왜 +++++ b가 작동하지 않습니까? (http://stackoverflow.com/q/5341202/1708801) –