ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:nuuuu 変わらない・・・。
困り度:
  • すぐに回答を!
↓のプログラムについて
(1)break文をexit(0)とreturn(0)にするとどうなるか?
(2)13行目と14行目にif(i>=n){break;}を入れるとどうなるか?
*プログラムは書き換えてよい。
という問題なんですが私にはさっぱりです・・・。

#include<stdio.h>
int main()
{
int i,n,total;
while(1){
printf("整数n?");
  scanf("%d",&n);
    if(i>=n){break;}
total=1;
for(i=n;1<=i;i++){
printf("i=%d ",i);
total*=i;
}
printf("total=%d\n",total);
}
printf("Thanks\n");
return(0)
}

できたら理由も教えてください。
よろしくおねがいします。
質問投稿日時:08/04/19 17:49
質問番号:3960132
この質問に対する回答は締め切られました。
最新から表示回答順に表示

回答

 

回答者:asuncion > *プログラムは書き換えてよい。

とは書かれていますが、のべつまくなしに書き換えてよいというわけではないと思います。
もとのコードはどういう動きをするのが正しいかを確認して、
それを逸脱しない範囲で書き換えるのは認められると思います。
そのうえで、今回の課題1)と2)に取り組む必要があると思います。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/04/19 21:32
回答番号:No.3
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:asuncion もう一つ。

> for(i=n;1<=i;i++){

n の値によっては無限ループに陥ります。
もとのコードの内容を今一度確認してみてください。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/04/19 18:32
回答番号:No.2
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:asuncion 課題を解く前に、もとのコードには大きな問題点があります。

>  scanf("%d",&n);
>    if(i>=n){break;}

変数 i に何が入っているかわからない状態で
n と比較してはいけません。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/04/19 18:26
回答番号:No.1
この回答へのお礼回答ありがとうございます。
元のコードを書き換えて問題を解く形式みたいなんです。
うまく伝えられなくてすみません。
 
最新から表示回答順に表示