解決済

clip!clip!
Ads By Google

for文とbreak文です。

#include<stdio.h>

int main()
{
int i, n, sum;
sum = 0;

for (i = 1; i <= 10; i++) {

scanf("%d", &n);
if (n == -1)//   
break;

sum = sum + n;
}
printf("sum = %d\n", sum);
return 0;
}

入力した数値を10まで足し、-1を入力したら終わる
プログラムですが、どうして-1そのものは計算のうち(sum = sum + n;)に入らないですか?

2007-12-23 17:26の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。

回答(1)

1.

2007-12-23 20:38:06ベスト
if (n == -1)break;
sum = sum + n;
という順番ですから、-1が入力されたときは、足し算する前にbreak文にひっかかってforループを抜けます。
回答レベル : 回答

間違えてコメント欄に書いてしまいました。 ありがとうございます。 上から実行していくんですね。 sum = sum + n;をifの前においたら-1も含んで計算しました。

Ads By Google

コメント(1)

#1.  1987
2007-12-24 01:10:59

ありがとうございます。 上から実行していくんですね。 sum = sum + n;をifの前においたら-1も含んで計算しました。

トラックバック(2)

トラックバックURL: