用子函数求数组的长度,很短的程序,看。急!
print(inta[]){printf("%d\n",sizeof(a));}voidmain(){inta[]={1,2,3,4,5,6};print(a);}//为...
print(int a[])
{
printf("%d\n",sizeof(a));
}
void main()
{
int a[] = {1,2,3,4,5,6};
print(a);
}
//为什么输出是4而不是24?若要输出24,子函数里怎么修改? 展开
{
printf("%d\n",sizeof(a));
}
void main()
{
int a[] = {1,2,3,4,5,6};
print(a);
}
//为什么输出是4而不是24?若要输出24,子函数里怎么修改? 展开
2个回答
展开全部
不行,在子函数里使用sizeof,是得不到指针指向的内存区域的大小的。
你可以考虑一下在数组末尾加上标志位,以示数组的结束,就像字符串一样在后头加\0。
这样就能计算数组长度了呢。
你可以考虑一下在数组末尾加上标志位,以示数组的结束,就像字符串一样在后头加\0。
这样就能计算数组长度了呢。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询