C言語なら俺に聞け! Part 115
■ このスレッドは過去ログ倉庫に格納されています
0025ハム ◆S.PtdgMO6E
2005/09/27(火) 17:26:32int a=0;
int b=1;
printf("%d\n",a=b++);
b=1; //初期化
a=0; //初期化
printf("%d\n",a=++b);
b=1;
a=0;
printf("%d\n",a=(b++));
上記のプログラムを実行すると、
1
2
1 ←ここがおかしい?
ここで、a=(b++) の a は 2 になると思うのですが、なぜ、()よ
り=が優先されて出力結果が1になるのでしょうか?
()が最優先じゃないのでしょうか?
a=(b++)は、bをインクリメントしたその値をaに格納するのでは?
なぜそうではないのでしょうか? おねがいします。
■ このスレッドは過去ログ倉庫に格納されています