• 締切済み

c言語

#include<stdio.h> #include<conio.h> void main() { int i=1,sum=0; char c=\'m\'; while(c!=\'e\')//eでない限りwhileループを実行する { sum=sum+i; printf(\"\\n1 kara %d madewo tasuto %d desu.\\n\",i,sum); i++; printf(\"nanikakeywo oshitekudasai.owaru tokiha \'e\'\\n\"); c=getch(); } printf(\"loopwo nukemashita\\n\"); getch(); } while(c!=\'e\')をwhile(c>0)にして実行したい場合はcharをintにかえて、scanfを使わなければならないのはわかりますが、どこを変えればよいか分かりません。ちなみに、while(c>0)に変えた場合に、正の数を入力した後に、「次の数を入力してください」という文を表示してからくりかえす方法をおしえてください。

みんなの回答

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

あのう・・・文字と文字列の扱いが既に間違ってるんですけど。 コンパイル通りませんよ、これじゃ。 エスケープシーケンスにする必要ありません。 >while(c!=\'e\')をwhile(c>0)にして実行したい場合はcharをintにかえて、scanfを使わなければならないのはわかりますが あのう、そこで自己完結してますけど。質問される側はそこがわからないんですが・・・ まず、何をしたいのですか? 「文字の入力待ちにgetchではなくscanfを使いたい」 とか、 「while(c>0)の意味がわからない」 とか書かないと誰も質問を理解してくれませんよ。

関連するQ&A