#include <stdio.h>
int main()
{
int i,j;
i=10;
j=i++;
printf("%d,%d",i,j);
scanf("%d",&j);
return 0;
}
のように書くと11,10と表示されるのですが、このときのインクリメントの動作の順序はどのようになっているのでしょうか?インクリメント
-
管理人
Re:インクリメント
int i,j; で j=i++; は「式を計算してからカウントアップ」 j=++i; は「カウントアップしてから式を計算」 を表します。 よって、前者はカウントアップする前の値が代入され、 後者はカウントアップしたものが代入されるわけです。