C语言如何获得数组长度(size/size遇到了问题)
voidbubble_sort(inta[]){intn=sizeof(a)/sizeof(a[0]);//自定义函数中,这个n就等于2了,为什么呢}main(){int...
void bubble_sort(int a[]){
int n = sizeof(a)/sizeof(a[0]); //自定义函数中,这个n就等于2了,为什么呢
}
main(){
int a[20];
int n =sizeof(a)/sizeof(a[0]); //主函数中,用此方法可得到正确长度
} 展开
int n = sizeof(a)/sizeof(a[0]); //自定义函数中,这个n就等于2了,为什么呢
}
main(){
int a[20];
int n =sizeof(a)/sizeof(a[0]); //主函数中,用此方法可得到正确长度
} 展开
3个回答
展开全部
使用sizeof的方法的前提是使用的是数组名,你这里的形参a,本质是一个指针,无法实现,只能再添加一个参数作为数组长度
追问
谢谢回答,没有其他办法能省一个参数吗。
追答
C里做不到,C++有引用可以做到
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
32位系统应该是1,第一个a是指针应该是4字节,第二个a[0]是整型元素是4字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询