提问者:小点点

为什么这段代码会输出两个不同的结果?[副本]


我试图做一个函数,返回数组的长度,但函数总是返回8

#include <iostream>
using namespace std;

int size(int arr[])
{
    return sizeof(arr);
}

int main()
{
    int v[] = {1, 2, 4};
    cout << sizeof(v) << endl;
    cout << size(v);

    return 0;
}

共1个答案

匿名用户

这是因为数组函数参数“arr”上的“sizeof”将返回大小“int*”..