インクリメント

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
DIL

インクリメント

#1

投稿記事 by DIL » 10年前

インクリメントのことで疑問があるので質問させていただきます。
#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:インクリメント

#2

投稿記事 by 管理人 » 10年前

int i,j;
で
j=i++;
は「式を計算してからカウントアップ」
j=++i;
は「カウントアップしてから式を計算」
を表します。
よって、前者はカウントアップする前の値が代入され、
後者はカウントアップしたものが代入されるわけです。

DIL

Re:インクリメント

#3

投稿記事 by DIL » 10年前

なるほど!理解しました。
ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る