|
#include <iostream.h>
void main()
{
int i;
i=1;
cout << i << '\t' << i++ << '\t' << i++ << '\n';
i=1;
cout << i << '\t' << ++i << '\t' << ++i << '\n';
i=10;
cout << i << '\t' << i-- << '\t' << i-- << '\n';
i=10;
cout << i << '\t' << --i << '\t' << --i << '\n';
cout << (i*=2) << '\n';
cout << (i*=2) << "\n";
}
를 실행했을때 저의 생각엔 당연히
1 1 2
1 2 3
10 10 9
10 9 8
16
32
가 될것 같은데 이상하게 컴퓨터는
3 2 1
3 3 2
8 9 10
8 8 9
16
32로 찍히더군요. 저의 생각엔 변수의 제어가
cout << i << '\t' << i++ << '\t' << i++ << '\n'; /* <---에서
왼쪽에서 오른쪽으로 즉 i --> i++ --> i++ 로 될것
같은데 이상하게 컴퓨터는 그 반대로 실행을 한것 같습니다.
만약에 컴퓨터대로 또 반대로 한다고 하여도 그러면 가장
먼저 '\t'가 실행되야 할텐데 그것도 아니고......
정말 궁금합니다.
꼭좀 가르쳐 주세요.
|