我有一个返回指向数组的指针的函数。如果我尝试使用像array [5]之类的东西访问返回的指针,它会返回正确的值,但如果我尝试循环它,那么它会返回随机数。为什么它在循环时返回不同的值,但在指定索引时返回正确的值?
int main()
{
int *array = returnArray();
for (size_t i = 0; i < 10; ++i)
{
cout << array[i] << endl;
}
return -1;
}
int *returnArray()
{
int array2[10];
int *ptr2;
for (size_t i = 0; i < 10; ++i)
{
array2[i] = i;
}
ptr2 = array2;
return ptr2;
}