微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

请有人告诉我这段代码有什么问题吗?

如何解决请有人告诉我这段代码有什么问题吗?

请有人告诉我这段代码有什么问题吗?

#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)

修复

尝试改变数组长度或循环条件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。