にプログラムの作業を以下のんが、プログラムがどのようにここでのprintf
#include<stdio.h>
int main()
{
int i=2;
printf("I=%d i=%d\n",++i,++i);
}
である私が得た出力は、それが私には少し意外で出力され
4 4
ました。 ++はどのように動作しますか?結果は4 4
で、3 4
ではないのはなぜですか?
ちょうどそれを読んで、それはあなたが人々が重複としてそれをマークしているスレッドとは異なります。
このような質問は、このサイトでたくさん*尋ねられています。あなたは、新しい質問をする前に、既存の質問を検索するように指摘する必要があります。 –
問題を理解しなくてもそれを閉じた人には恥がかかります。 –
私はそれが価値があるために、投票には投票しませんでした。とにかく、この質問に対する答えは、既存の質問に対する答えと本質的に同じです。すなわち、介在するシーケンスポイントなしで変数を読み書きすることは未定義の動作であり、コンパイラは必要なものを実行することができます。 –