ページ 11

インクリメント

Posted: 2008年5月24日(土) 02:32
by DIL
インクリメントのことで疑問があるので質問させていただきます。
#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:インクリメント

Posted: 2008年5月24日(土) 03:01
by 管理人
int i,j;
で
j=i++;
は「式を計算してからカウントアップ」
j=++i;
は「カウントアップしてから式を計算」
を表します。
よって、前者はカウントアップする前の値が代入され、
後者はカウントアップしたものが代入されるわけです。

Re:インクリメント

Posted: 2008年5月24日(土) 09:47
by DIL
なるほど!理解しました。
ありがとうございます。