C语言基础之scanf的问题

来源:互联网 发布:淘宝网址导航 编辑:程序博客网 时间:2024/05/19 03:26
#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;}     

原创粉丝点击