次のコードを実行しました。
int main(void)
{
int c;
c=0;
printf("%d..%d..%d \n", c,c,c);
c=0;
printf("%d..%d..%d \n", c,c,c++);
c=0;
printf("%d..%d..%d \n", c,c++,c);
c=0;
printf("%d..%d..%d \n", c++,c,c);
return 0;}
私は出力を次のように期待していました
0..0..0
1..1..0
0..1..0
0..0..0
しかし、出力(gccでコンパイル)は
0..0..0
1..1..0
1..0..1
0..1..1
私の期待の何が間違っていますか?gcc では、評価順序は右から左です。それは...ですか?