こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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)に変えた場合に、正の数を入力した後に、「次の数を入力してください」という文を表示してからくりかえす方法をおしえてください。

投稿日時 - 2004-05-31 20:05:42

QNo.876757

暇なときに回答ください

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

あのう・・・文字と文字列の扱いが既に間違ってるんですけど。
コンパイル通りませんよ、これじゃ。
エスケープシーケンスにする必要ありません。


>while(c!=\'e\')をwhile(c>0)にして実行したい場合はcharをintにかえて、scanfを使わなければならないのはわかりますが

あのう、そこで自己完結してますけど。質問される側はそこがわからないんですが・・・


まず、何をしたいのですか?
「文字の入力待ちにgetchではなくscanfを使いたい」
とか、
「while(c>0)の意味がわからない」
とか書かないと誰も質問を理解してくれませんよ。

投稿日時 - 2004-05-31 20:34:07