您的位置:首页 > 其它

scanf("%d\n",&a);中\n带来的问题的解释

2018-01-29 14:50 162 查看
第一次输入数字+回车,这个回车被编译器默认为分隔符,相当于scanf()只接受了“%d”,与其格式不匹配,继续要求你输入数据,当第二次随便输入一个数据之后,按下回车,这时编译器知道第一个回车不是分隔符,而是需要的匹配的格式。

补充:

scanf("%c",&a);

当输入字符的时候,我们按下任意字符 + 回车的时候,回车没有被当作为分隔符,而是作为一个转义字符与输入的字符一起保存在缓存区。第一次scanf从缓存区中取出的是字符,第二次的话取出的是回车转义字符,即\n。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: