int size(int arr1[])
{
int size1=sizeof(arr1)/sizeof(int);
cout<<size1<<endl;
return size1;
}
void main()
{
int b[]={1,2,3,4,5};
int size2 = size(b);
cout<<size2<<endl;
for (int i=0;i<size2;i++)
{
cout<<b[i];
}
}
我已将b []函数放入size()并检查大小然后返回值。 然而,它只返回1作为答案。 任何人都可以帮我解决这个问题。
C ++的初学者
答案 0 :(得分:2)
sizeof(arr1)
返回指针的大小,而不是整个数组的大小
这就是语言的方式。
您必须确定没有sizeof
的数组大小:
使用数字传递第二个参数,或以某种方式填充数组
你可以找到结束因为某个值存在(而不是其他地方)