您能否解释以下代码的输出:
#include<iostream>
using namespace std;
void foo(int array[])
{
int size = sizeof(array) / sizeof(array[0]);
cout<<size<<endl;
}
int main()
{
int array[] = {1,2,3};
int size = sizeof(array) / sizeof(array[0]);
cout<<size<<endl;
foo(array);
return 0;
}
对应的输出是:
3
2
foo()和main()中的代码看起来都与我相似,以产生相同的输出,但事实并非如此,您能解释一下原因吗?