{
char a,b;
printf("%s\n","input a");
scanf("%c",&a);
if(a=='y')
printf("a=y");
else printf("error");
printf("%s\n","input b");
scanf("%c",&b);
if(b=='y')
printf("b=y");
else printf("error");
}
上面这段程序在运行过程中第一个if...else结构运行正常,而第二个if...else结构则不起作用,程序在不要求任何输入的情况下自动输出“error”,不知是何原因,望高人指教。
----------------解决方案--------------------------------------------------------
void main()
{
char a,b;
printf("%s\n","input a");
scanf("%c\n%c",&a,&b);
if(a=='y')
printf("a=y\n");
else printf("error\n");
printf("%s\n","input b");
if(b=='y')
printf("b=y");
else printf("error");
getch();
}
我在TC编译器上运行可以拉
----------------解决方案--------------------------------------------------------
#include <stdio.h> #include <conio.h>
void main() { char a,b; printf("%s\n","input a"); scanf("%c",&a); if(a == 'y') printf("a=y\n"); else printf("error\n");
printf("%s\n","input b"); scanf("\n%c",&b);
if(b == 'y') printf("b=y\n"); else printf("error\n"); }
----------------解决方案--------------------------------------------------------
#include <stdio.h> #include <conio.h>
void main() { char a,b,c; printf("%s\n","input a"); scanf("%c",&a); if(a == 'y') printf("a=y\n"); else printf("error\n");
printf("%s\n","input b"); c=getchar(); scanf("%c",&b);
if(b == 'y') printf("b=y\n"); else printf("error\n"); getch(); }
----------------解决方案--------------------------------------------------------
按照高人yuki的写法是有效的,但是在下的问题出在哪里呢?难道真就差在那几个空格上?还请高人指教。另外也多谢高人mengge的指教。
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
这次全明白了,多谢指教。
----------------解决方案--------------------------------------------------------
我只是曾经碰到和你一样的问题 只是知道为什么出现这个问题不知道 SCANF()的回车在那里接收才有效 麻烦yuki 告诉怎么样判断在那里接收 最后我也不是什么高人 我学C也才1个月而已
----------------解决方案--------------------------------------------------------
一般从第二个scanf()起使用,以便接受上一个scanf()传入的换行符。
----------------解决方案--------------------------------------------------------
谢谢yuki指点 我一直都是为拉避免我就采取调用函数和放在一个scanf()里面
----------------解决方案--------------------------------------------------------