关于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。我想知道这是我算法的错误还是别的什么。希望各位老鸟不吝赐教。 展开
#include<stdio.h>
main()
{
char a;
scanf("%c",&a);
while(a=='Y')
{
printf("Yes");
scanf("%c",&a);
}
printf("No");
return 0;
}
但是当运行这个程序的时候,第一次输入Y,然后执行循环,再然后程序会提示我输入一个数,当我再次输入Y后,程序不会执行循环,而是直接输出NO。我想知道这是我算法的错误还是别的什么。希望各位老鸟不吝赐教。 展开
展开全部
/********添加注释*******你的程序的翻版***对比一下*******/
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
char a;
a=getch();
while(a=='y')
{
printf("Yes");
getch();
return 0;
}
printf("No");
getch();
return 0;
}//输入字符时,不用敲回车
int main()
{
char a;
a=getch();
while(a=='y')
{
printf("Yes");
getch();
return 0;
}
printf("No");
getch();
return 0;
}//输入字符时,不用敲回车
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询