关于C语言中循环输入及判别字符型变量的问题

每次做到有关判断和循环的时候,比如说一个循环要继续进行需要输入Y,那么方法应该是让一个字符型变量来储存从键盘里输入的一个字符,然后判断这个字符是否为Y。举个简单的例子:#... 每次做到有关判断和循环的时候,比如说一个循环要继续进行需要输入Y,那么方法应该是让一个字符型变量来储存从键盘里输入的一个字符,然后判断这个字符是否为Y。举个简单的例子:
#include<stdio.h>
main()
{
char a;
scanf("%c",&a);
while(a=='Y')
{
printf("Yes");
scanf("%c",&a);
}
printf("No");
return 0;
}
但是当运行这个程序的时候,第一次输入Y,然后执行循环,再然后程序会提示我输入一个数,当我再次输入Y后,程序不会执行循环,而是直接输出NO。我想知道这是我算法的错误还是别的什么。希望各位老鸟不吝赐教。
展开
 我来答
百度网友324ede9
2010-12-18 · TA获得超过822个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:294万
展开全部
#include<stdio.h>
main()
{
char a;
scanf("%c",&a);
while(a=='Y')
{
printf("Yes\n");
getchar();//吸收掉回车换行字符,你输入的是Y+回车,如果不洗手回车字符,那么再输入字符时回车会自动进去
scanf("%c",&a);
}
printf("No");
return 0;
}
付哥的投资哲学
2010-12-19 · TA获得超过181个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:86.5万
展开全部
/********添加注释*******你的程序的翻版***对比一下*******/
#include<stdio.h>
int main(void)
{
printf("input a letter\n");
while(getchar() == 'Y'){
printf("Yes\n");
getchar(); /**accept the enter key**/

}
printf("No\n");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq____open
2010-12-18 · 超过30用户采纳过TA的回答
知道答主
回答量:156
采纳率:0%
帮助的人:76.7万
展开全部
#include<stdio.h>
int main()
{
char a;
a=getch();
while(a=='y')
{
printf("Yes");
getch();
return 0;
}
printf("No");
getch();
return 0;
}//输入字符时,不用敲回车
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式