原因,定义数组的时候使用变量来定义数组长度。
如下代码:
int a = 10;
char b[a]; //编译不报错
//char b[a] = "jfkd"; //报错
printf("b = %s, len = %d:%d\n", b, strlen(b), sizeof(b));
如下代码则无问题:
int a = 10;
char b[a]; //编译不报错
扫描二维码关注公众号,回复:
1551095 查看本文章
strcpy(b, "jfdljf");
printf("b = %s, len = %d:%d\n", b, strlen(b), sizeof(b));
原因:在C中,使用变量来定义数组长度是,这个数组可以定义,却不能进行初始化赋值,可以在之后赋值。