C语言如何用sizeof求未知数组的长度?

char str1[];int i=0;
char ch;
while(ch=getchar()!='\n')scanf("%c",str1[i++]);
printf("%d",sizeof(str1)/sizeof(char));
这样用吗?为什么无法输出?

char *str1;
str1 = getchar();
printf("%d", sizeof(str1) / sizeof(char));
你有两个错误 不能定义一个未知长度的数组,while判定条件有问题,getchar是字符串的输入。追问

c语言中不能定义未知长度的数组?能够用sizeof求出一个字符数组中实际赋值的个数吗?

追答

不能定义未知长度的数组,可以用strlen函数计算实际长度再/sizeof(char)就好了

温馨提示:答案为网友推荐,仅供参考
相似回答