int a[10]={0,1,2,3,4,5,6,7,8,9};
int f(int *c)
{
int m;
m=sizeof(c);
return m;
}
void main()
{
int f(a);
}
但 void main()
{
int m;
m=sizeof(a);
}可以。
用子函数哪儿出错了?
写漏了,上面得到的是40,下面的例子得到的是4,如何改达到调用子函数就能得到40?
追答m=sizeof(a); 这个是计算整个a的长度,就是40了;
如果调用函数,那你就是把a的首地址传给了函数,那函数自然只算那个地址的长度,就是4了。
使用子函数,该如何改?才能得到40。(子函数方便只需改主函数的数组名就能得到另外的数组长度)
追答怎么改都不能得到40。 计算数组长度不能通过传参数方式。