[经验][讨论]关于scanf的小心之处
知道我们在编码时经常用到scanf函数实现输入但有时用scanf("%d\n",&a);会使程序输出出现乱码
或者会无法终止输入,一直处于输入状态
讨论如下
(1)作为新手应该注意;
(2)作为高手请讨论其内部产生机理;
(3)至于中级人物,有问题说问题,有意见谈意见;
(4)scanf("%[ ]",s);使用范围扩展问题;
#include<stdio.h>
void main()
{
char a[40];
scanf("%s\n",a);
printf("%s\n",a);
}
假如输入a回车
再输入一个别的字符,回车才能输出a
为什么?
请指教
不要用,去掉
直接scanf
不过这样写有的编译器也可编译啊
查查scanf什么样