午觉时间几点:编程高手进!!!!好头疼啊!!!

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 20:24:32
#include<stdio.h>
main()
{ char ch,y;
ch=getchar(); /*shu ru (y/n)*/
while(ch!=y)
{printf("123456789");
ch=getchar();
}
}
这是我课设中遇到的一个问题,太让我头疼了!
比如上面这段程序中的第一个getchar()不管输入的是y还是n,下面的循环都进的去,而第二个getchar()不管输入的是y还是n,循环都出不来!!!!!!
这是为什么啊?请大家帮我看一下啊?

while(ch!='y')

#include<stdio.h>
main()
{ char ch,y;
ch=getchar(); /*shu ru (y/n)*/
while(ch!=y)
{printf("123456789");
y=getchar();
}
}
第一次输入的和第二次输入的一致就会退出

ch=getchar(); /*shu ru (y/n)*/
while(ch!=y)
在判断的时候,ch和y做比较,但是y没有赋值,所以ch肯定是不等于y的:)
可以做如下修改:
while(ch!='y')

或者
y = 'y';
while(ch!=y)
就可以了

按楼主的意思,应该用字符'y',而不是变量y.

见意楼主多复习下C语言基础吧,这样的题还叫高手进,菜鸟级的问题!

y没有赋值啊
{ char ch;
不定义y试试.