C语言终止怎样想用输入“N”或“n”来终止循环,用“Y”或“y”来继续输入数值进行计算

这个开关怎么不对
int flag = 1;
char d;
while (flag)
{
··················
printf ("输入“N”结束,输入“Y”继续\n");
scanf ("%c",&d);
getchar();
if (d == 'N' || d == 'n')
flag = 0;
else if (d == 'Y' || d == 'y')
flag = 1;

1)getchar()在这里没意义。输入Y和N后要回车确认。

2)如果想用getchar,就把
scanf ("%c",&d);
getchar();
改为d=getchar();这样的话输入Y或N后不要敲回车键
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-30
这个程序在你输入n的时候已经退出循环了,程序运行结束了,你再输入y,程序也不接收了,建议,在为n的判断里面加一个死循环接收字符,不是y就不跳出循环就ok了,然后外面用一个永久的死循环
第2个回答  2013-11-30
while(x )的意思是当不等于X的时候退出循环,你这个很明显搞错了
第3个回答  2013-11-30
你把最后一个} 改成英文输入法下的试试
相似回答