第1个回答 2011-03-06
在VC++ 2005调试会报执行错的。
char a[1];//数组a只有一个元素
scanf("%s",a);//将输出的字符放入以地址a开始的单元中,且最后一个字符为'\0',显示数组超界了。
//C语言不对数组超界作检查。
printf("%s",a);//输出字符串
system("PAUSE");
return 0;//这时VC2005发现数组超界,报错!可能有些C版本不报!
第2个回答 2011-03-06
我觉得是因为你输入的字符串被看成是一个字节存储在一个单元格中
第3个回答 2011-03-06
你这的定义char a[1];有问题,你数组只定义一个元素,那还要定义数组干什么呢?
换成 char a[100];
第4个回答 2011-03-06
我怎么记得是
scanf("%s",a);
还是
printf("%s",a);
中有一个的参数应该加上&符号呢!可是我见这些都没有写那个符号~~
信息来源:黑**=吧=**安全网
只有不想学的,没有学不会的--------神马 年代
////////////////////////////////////////////////////////////////////////////////
九年悠久历史! 业界公认水平~