再来一个问题
#include <stdio.h>int main()
{
int a;
int b;
char c[3];
scanf("%s",c);
printf("%s",c);
return 0;
}
①这个数组的长度是三,但是如果我输入“123456789”结果会正常显示,不是溢出了吗??为什么??
②我发现输入的字符数小于等于12个,则结果正常显示,但是超过12个,运行后系统提示应用程序错误:“0x004017fc”指令引用的“0x0012001a”内存。该内存不能为“written”。
但是结果仍能正常显示!!为什么?
③我把char c[3]改成char *c就不行了,原理不是一样的吗?为什么不行?