为什么代码会崩溃?(在CPP中)
Why does the code crash? (in CPP)
以下代码崩溃:
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
未初始化。
相关文章:
- 无法使用犰狳运行编译的 cpp 代码,因为 dyld:库未加载
- 如何大致将 cpp 代码结构转换为 python
- 如何检测 cpp 代码中的 openvino 设备
- Cpp代码故障(显示意外数字)
- CPP代码中出现FileNotFound异常
- 如何在使用模板时将 CPP 代码编译到库文件中
- 编译 cpp 代码
- 为什么我的 cpp 代码显示分段错误
- 由于删除对象而导致的 Cpp 代码主线程冻结可以使用智能指针解决,也可以不使用智能指针来解决
- 使用正在调用TCL脚本的CPP代码的GCC编译
- 错误地将CPP代码与蚊子库一起使用G
- CPP代码方程式返回相同值,无论输入如何
- 更高效的 CPP 代码
- 从 CPP 代码调用 Objective-C 方法
- 这片CPP代码如何转储
- 每当我输入长度为4的字符串时,下面的cpp代码就会崩溃(向量中的malloc失败)
- 在包含 R/Cpp 代码的 R 包中使用 roxygen2 for R 函数
- Opengl cpp 代码可在 Windows 和 Mac 上运行
- XPCOM CPP代码在注册表中找不到现有项
- 使用cpp代码从加载的qml访问qml对象