ループ文についての質問なのですが

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

ループ文についての質問なのですが

#1

投稿記事 by ビギナー » 13年前

-1を入力するとループを出るコードなのですが
int i = 0,array[10];

do {
printf("%d番目の数:",i);
scanf("%d",&array);
i++;
}while (array != -1);

どうしてwhile (array != -1);
ではなくてwhile (array != -1)なのでしょうか?
arrayの中の-1の意味が理解できません
どなたか教えていただけると幸いです

Saula

Re: ループ文についての質問なのですが

#2

投稿記事 by Saula » 13年前

コード:

int i = 0,array[10];

do {
	printf("%d番目の数:",i);
	scanf("%d",&array[i]);
	i++;
}while (array[i -1] != -1);

だから、iが++された後に判定しているから、ではないですか?

i=0からスタート
1.array(=array[0])にキーボードから入力
2.i++(これによってi=0からi=1になる)
3.入力した数値が-1でないかを判定する(今i=1だから、array[0]をチェックするにはarray[i-1]をチェック)

これが毎回繰り返されているということでは。

ビギナー

Re: ループ文についての質問なのですが

#3

投稿記事 by ビギナー » 13年前

なるほどよくわかりましたdoの中で++1しているから
-1してあげないといけないんですね

ひとつ番号がずれているのを見落としていました

丁寧な回答ありがとうございます

今後ともまた困ったことがありましたら質問させていただきます

閉鎖

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