#include <stdlib.h>
int main(int argc, char *argv[]) {
char a='b';
putchar(a);
printf("\n");
char x;
x=getchar();
putchar(x);
printf("\n");
char arr[5]="12345";
//gets(arr);
puts(arr);
printf("%s\n",arr);
return 0;
}
编辑执行后 当给x任意赋值后(假设赋值a) 上述代码中最后的puts会输出12345ab
但如果取消注释gets 上述代码最后的puts则会正常输出
查阅了一点资料发现gets会吃掉换行符 但是上述代码中不存在scanf溢出的换行符
打断点调试没看出什么来 先记录一下 后续有结果了再回来解答!!!