#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;
}
C语言基础之scanf的问题
最新推荐文章于 2024-07-11 17:33:29 发布