分段错误 11:尝试使用 cin 输入 B[1] 时

呵呵

我在运行以下代码时遇到问题。它给我一个分段错误作为运行时错误。

#include <iostream>
using namespace std;

int main()
{
    int n;
    cout << "Enter n: ";
    cin >> n;

    float A[n][n], x[n], B[n], L[n][n], U[n][n], m[n][n], Aug[n][n + 1];

    //Initializing matrix A,L,U
    cout << "Enter A: \n";
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cin >> A[i][j];
            U[i][j] = A[i][j];
            Aug[i][j] = A[i][j];
            if (i == j) {
                L[i][j] = 1;
            }
            else {
                L[i][j] = 0;
            }
        }
    }

    //Initialising matrix B
    cout << "Enter B: \n";
    for (int i = 0; i < n; i++) {
        cin >> B[i];
        cout << "done" << i;
        Aug[i][n] = B[i];
    }

    // ...

    return 0;
}

输入:

n=2, A={2,5,-3,-4}, B={0,0}

当我尝试输入时会发生错误,B[1]因此done0被打印但done1没有。我只是无法弄清楚这个错误的原因是什么,因为我没有看到任何B[1]无法访问的原因

大卫·施瓦茨

你误诊了问题。for循环结束后发生分段错误,在您没有向我们展示的代码中(// ...部分)。done1没有得到打印,因为你的代码错误它有机会刷新输出缓冲器之前。cout << "done" << i;只是把东西放在输出缓冲区中,没有什么可以刷新缓冲区。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

分段错误:尝试对.app进行代码签名时为11

来自分类Dev

尝试释放内存时出现分段错误

来自分类Dev

尝试打印结构时出现分段错误

来自分类Dev

cin失败时捕获无效输入

来自分类Dev

尝试在OpenSSL中使用EVP功能时出现分段错误

来自分类Dev

ffmpeg。输入过程结束时出现分段错误

来自分类Dev

Xcode:持久分段错误:使用Firebase时11

来自分类Dev

Xcode:持久分段错误:使用Firebase时11

来自分类Dev

分段错误:11,使用Alamofire.upload时

来自分类Dev

使用模板时 C++ 分段错误 11

来自分类Dev

使用argv []时出现分段错误

来自分类Dev

使用memcpy时出现分段错误

来自分类Dev

使用OpenMP时snprintf中的分段错误

来自分类Dev

使用OpenMP时snprintf中的分段错误

来自分类Dev

使用CyaSSL Keygen时出现分段错误

来自分类Dev

使用malloc时出现分段错误

来自分类Dev

使用废弃SDL时出现分段错误

来自分类Dev

使用strtok时出现分段错误

来自分类Dev

使用std :: string时出现分段错误

来自分类Dev

使用argv []时出现分段错误

来自分类Dev

使用rmmod时出现分段错误

来自分类Dev

使用OpenMP时snprintf中的分段错误

来自分类Dev

使用clock()函数时出现分段错误

来自分类Dev

使用 sscanf 时出现分段错误

来自分类Dev

使用数组时 C 中的分段错误

来自分类Dev

使用节点结构时出现分段错误

来自分类Dev

C - 使用 strlen 时出现分段错误?

来自分类Dev

使用 popen() 时出现分段错误

来自分类Dev

std :: cin无限循环输入错误