C++ の入門クラスで、教授は今日、ループ、インクリメント、デクリメントについて話していました。単純な do-while ループが何回実行されるかを調べていたところ、次のコードの出力中に がint y
最初に として表示されることに気付きましたが2
、インクリメントの接尾表記が最初に使用され、教授も優先されます(x
表示される変数のように)。では、最初に出力ウィンドウに" 1 3y
" と表示されないのはなぜですか?
おそらく非常に簡単な答えですが、彼はすぐにはわかりませんでした。dev c++ の最新バージョンを使用していました。
#include <iostream>
using namespace std;
int main()
{
int x=1;
int y=1;
do
{
cout << "x: " << " " << ++x << " " << x++ << endl;
cout << "y: " << " " << y++ << " " << ++y << endl;
}while(x<=10);
return 0;
}
実行すると、表示は次のようになります。
x: 3 1
y: 2 3
x: 5 3
y: 4 5
x: 7 5
y: 6 7
x: 9 7
y: 8 9
x: 11 9
y: 10 11
私の限られた理解で、私はこれを思いつきました。同じステートメントで複数のインクリメント操作が使用されているため、cout ステートメントが情報をコンソールに表示する前に両方が実行されます。
しかし、おそらくより正確な回答/説明を探しています