我遇到了以下代码的问题:
#include <iostream>
using namespace std;
double* FillArray(void)
{
double result[5];
for (int i = 0; i<5;i++){
result[i]=(double) i;
}
return result; // return the pointer
}
int main()
{
double * a = FillArray();
for (int i = 0; i<5;i++){
cout << a[i] << endl; // print out the array
}
return 0;
}
输出很奇怪:
0
3.47187e-236
8.89753e-308
8.8976e-308
3.90251e-236
你能告诉我的代码有什么问题吗?我尝试使用函数返回一个数组,并在 main() 中打印出来。