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

解決済みの質問

C言語(while構文)

#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();
}

getch()の代わりに、scanf()を使って整数値を入力させ、負の数が入力されたら終了するプログラム(正を入力したら「次の数値を入力せよ」とだして、繰り返す。)を造りたいのですが、どこを変えればよいか教えてください。

投稿日時 - 2004-05-31 21:14:29

QNo.876834

暇なときに回答ください

質問者が選んだベストアンサー

int n = 0;




while( n < 0 )
{



scanf(%d, &n)
}



かな?
ただし、scanfを使うと文字の入力を待つわけではないので、長い文字列なども入力できてしまいます。こんなことをされるとプログラムが異常終了するの本当は使わないほうがいいんですけどね。

たとえば、
1 1 1 1 1 1 1 1 1 1 1 1 -1
こんな入力されたらどうなるか試してみてください。



あとは、eを入れたら終わるって文章を直すってところですかね?

#いきなり補足もお礼も書かずに質問閉じるのはマナー違反ですね。
折角アドバイスしてるんですよ。今回の質問をそのまま補足に書いていただければ問題ないのに。

投稿日時 - 2004-05-31 21:41:31

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

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

回答(1)