为什么代码会崩溃?(在CPP中)

Why does the code crash? (in CPP)

本文关键字:CPP 代码 崩溃 为什么      更新时间:2023-10-16

以下代码崩溃:

int main()
{
int n, arr[n];
cin>>n;      
}

以下代码工作正常

int main()
{
int n;
cin>>n;
int arr[n];
}

在第一种情况下,arr[n];读取一个未初始化n,其行为是未定义的

请注意,在C++中,可变长度数组无论如何都是编译器扩展。

使用便携式C++std::vector(或std::array,如果您有充分的理由;您可能没有(。

您正在创建一个数组,而不给出数组的大小。

int n, arr[n];

此处,n未初始化。