字符数组 初始化 问题。。。请各位大侠看看
我用的是VC++6.0 XP系统#include <stdio.h>
int main()
{
char b[11] = "";//关键是b的长度,我让长度小于a,它竟然不会崩,但出来一堆乱码。另外,我先定义a,再定义b,单步调试的时候,发现b的初值竟然是“一堆乱码+a中元素”
char a[] = "I am a boy!";
char* p = NULL;
int i = 0;
for (p=a; *p!='\0'; p++,i++)
{
b[i] = *p;
}
// 我若加上 b[i]='\0'; 就不会出现乱码,但系统不是自动在数组后面加上‘\0’吗?
printf("%s",b);
return 0;
}