用 sizeof 输出变长数组长度,结果为 0 ?
我把n改成100,马上输出正确值100,这说明sizeof对定长数组是这样用的。//直接上代码
程序代码: int n = 0;
char a[n]; //定义一个变长数组,接收字符输入
char *p = a;
char ch;
printf("Enter a message: ");
ch = getchar();
while (ch != '\n'){ //将输入的字符放到数组中
n++;
*p = ch;
p++;
ch = getchar();
}
printf("%d\n", sizeof(a)); //这里输出的数值应该是输入的字符的个数,可是为什么输出是0呢?(sizeof(char)的值是1,就不去除他了)









