#include<stdio.h>
int main()
{
char a, b;
printf("请输入两个字符:\n");
scnaf("%c", &a);
scanf("%c", &b);
printf("%c", a);
printf("%c", b);
return 0;
}
在Linux环境下输入两个字符,结果输出只有一个字符的问题.。
主要原因是因为当你输入一个字符以后,输入回车键换行的时候,第二个scanf把你输入的回车键当做你输入的字符处理了,导致了只有一个字符的输出。解决办法有很多,这里提供两种方法参考:
方法一:
#include<stdio.h>
int main()
{
char a, b;
printf("请输入两个字符:\n");
scnaf("%c", &a);
scanf(”%c”,&b));//在两个scanf中间加一个scanf,把你输入的回车键“吃掉”,这样就能正常输出了
scanf("%c", &b);
printf("%c", a);
printf("%c", b);
return 0;
}
方法二:
#include<stdio.h>
int main()
{
char a, b;
printf("请输入两个字符:\n");
scnaf("%c,%c", &a,&b);//将两个字符同时输入,不用换行,就不会发生“吃掉”字符的情况。
printf("%c", a);
printf("%c", b);
return 0;
}
scanf运用出现吃回车解决方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.