c++ - 拜托,有人能告诉我这段代码有什么问题吗?
问题描述
拜托,有人能告诉我这段代码有什么问题吗?
#include <iostream>
using namespace std;
int main() {
int a[3], i;
for(i = 0; i <= 3; i++ )
{
a[i] = 0;
cout << "i = " << i << endl;
}
return 0;
}
解决方案
这段代码的数组长度只是3
for 循环执行4
次数,因为循环从 0 到 3 执行。 的值i
将如下所示:
i = 0
i = 1
i = 2
i = 3
由于数组a[3]
长度为 3,但您尝试将4
元素放入其中,当然会显示错误:
*** stack smashing detected ***: terminated
Aborted (core dumped)
修复
尝试更改数组长度或循环条件。
推荐阅读
- javascript - 用户登录后将文本动态复制到剪贴板
- google-bigquery - BigQueryIO 读取与 fromQuery
- javascript - 如何动态更改子类别?
- android - Linphone Android 文件共享服务器
- pytorch - 不安全平台警告
- python - 熊猫可以计算 RollingGroupby 对象上的字符串类型列吗?
- python - App Engine Flexible 无法将数据存储区与 websockets 示例一起使用
- javascript - 点击时图像下方的 Fancybox 自定义标题(段落)
- kotlin - 在 Kotlin 中创建一个带有枚举参数的函数
- python - 如何修复“TypeError:fit() 缺少 1 个必需的位置参数:'X'”错误