int i = 1;
cout << ++i << i++ << ++i <<endl;
i = 1;
cout << ++i << ++i << ++i << endl;
i = 1;
cout << i++ << ++i << ++i << endl;
首先这个问题的结果是根据编译器决定的,在此讨论一下vs编译器。顺序是由右→左:
cout << ++i << i++ << ++i << endl;
(3)2(2)
4 2 4
cout << ++i << ++i << ++i << endl;
(4)(3)(2)
4 4 4
cout << i++ << ++i << ++i << endl;
3 (3)(2)
3 4 4
cout << i++ << ++i << i++ << endl;
3 (2) 1
3 4 1