C语言,关于求数组长度的问题!

intLength(int*arr){intlen=sizeof(arr)/sizeof(int);returnlen;}main(){inta[10]={1,2,3,4... int Length(int *arr){
int len=sizeof(arr)/sizeof(int);
return len;
}

main(){
int a[10]={1,2,3,4,5,6,7,8,9,10};
printf("%d\n",sizeof(a)/sizeof(int)); //输出为10,正确
printf("%d\n",Length(a)); //输出为1,错误
}
//相同的操作,为什么会有不同的结果?
//请大家帮我详细解答一下,谢谢!
展开
 我来答
beddy1
2012-09-27 · TA获得超过1989个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2201万
展开全部
很明显是不同的操作好吧,怎么看怎么不相同。

a 是 int [10]
arr 是 int *
哪里相同了?乱搞。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式