下面是我的代码:
#include <stdio.h>
#include <string.h>
void main(void)
{
char a[3];
gets(a);
int i=0;
while(a[i]!='/0')
{
printf("%c/n",a[i]);
i++;
}
puts(a);
printf("/n%s/n",a);
}
我的疑问是明明定义了字符数组是的大小是3,为什么运行时键入4个字母也行?>=5时就有错误了,本人新手,望高手指点。
本文探讨了一个C语言初学者关于字符数组的问题。通过一个简单的代码示例,作者提问为何定义为3个元素的字符数组可以接受4个输入字符而不报错,直至输入字符达到或超过5个时才出现错误。该问题引导读者思考字符数组的边界问题及其背后的原因。
1667





