为什么以下 C++ 代码会为此特定输入提供分段错误?

萨维尔·拉詹·古普塔
int main(){
    int n;
    cin>>n
    cin.ignore(32767,'\n');
    string arr[n],temp;
    for(int i=0;i<n;i++){
        getline(cin,temp);
        arr[i]=temp;
    }
}

输入
10位
游客
petr
wjmzbmr
yeputons
vepifanov
scottwu
oooooooooooooooo
订阅者
rowdark
tankengineer

对于所有其他输入(即使 n=10),我的代码运行良好,但是对于这个特定输入(上面提到的),它给出了分段错误。

泰德·林格莫

您的代码不可能按原样编译,并且您正在使用C++ 不支持的VLA:s,因此很难重现您的问题。尝试通过使用 C++ 容器(如std::vector, )来避免它例子:

#include <iostream>
#include <vector>

int main() {
    int n;
    std::cin >> n;
    std::cin.ignore(); // discard the '\n' still in the buffer

    // declare a standard C++ container, like a vector of strings
    std::vector<std::string> arr(n);

    for(int i=0; i<n; ++i) {
        std::getline(std::cin, arr[i]);
    }

    std::cout << "VALUES:\n";
    for(auto& s : arr) {
        std::cout << s << "\n";
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在以下代码中出现“必须是可修改的L值”编译器错误(C2105)?

来自分类Dev

为什么以下代码无法解析?

来自分类Dev

为什么在以下C程序中出现分段错误

来自分类Dev

为什么CppCheck会为此静态const数组提供数组访问错误?

来自分类Dev

为什么以下C语言代码显示-1?

来自分类Dev

为什么以下模板声明格式错误?

来自分类Dev

为什么以下代码在C ++中是非法的

来自分类Dev

在以下代码的上下文中,为什么“ cout << c”是合法的而“ c =“ x””是非法的?

来自分类Dev

为什么此C代码段不会导致分段错误?

来自分类Dev

为什么以下代码使用`c ++ 03`而不是`c ++ 11`进行编译

来自分类Dev

为什么以下代码在C,Python中给出不同的输出?

来自分类Dev

为什么以下c ++代码的时间复杂度为O(n ^ n)?

来自分类Dev

为什么以下C ++代码中发生内存泄漏?

来自分类Dev

以下C代码输出一个分段错误错误,我几乎不明白为什么

来自分类Dev

为什么以下涉及指针的C表达式不求值为错误?

来自分类Dev

为什么以下C#代码在可为空的DateTime初始化时引发NullReferenceException?

来自分类Dev

为什么以下代码会产生分段错误?

来自分类Dev

为什么以下代码会运行?

来自分类Dev

为什么以下Python代码错误?

来自分类Dev

为什么在以下函数中出现此错误“ pngrutil.c:27:error:在'='标记之前的预期';',','或')'”?

来自分类Dev

学习C ++指针会与以下代码一起进入核心转储,我真的不为什么吗?

来自分类Dev

为什么以下代码无法编译?

来自分类Dev

为什么在执行以下C代码时出现错误“表达式语法”:

来自分类Dev

您能否通过执行以下C代码来解释为什么会输出:'dcc d'?(指针)

来自分类Dev

为什么以下C语言代码给出此输出?

来自分类Dev

为什么以下代码使用`c ++ 03`而不是`c ++ 11`进行编译

来自分类Dev

为什么以下代码显示错误?

来自分类Dev

为什么以下代码不终止?

来自分类Dev

为什么我在以下代码中出现分段错误?

Related 相关文章

  1. 1

    为什么在以下代码中出现“必须是可修改的L值”编译器错误(C2105)?

  2. 2

    为什么以下代码无法解析?

  3. 3

    为什么在以下C程序中出现分段错误

  4. 4

    为什么CppCheck会为此静态const数组提供数组访问错误?

  5. 5

    为什么以下C语言代码显示-1?

  6. 6

    为什么以下模板声明格式错误?

  7. 7

    为什么以下代码在C ++中是非法的

  8. 8

    在以下代码的上下文中,为什么“ cout << c”是合法的而“ c =“ x””是非法的?

  9. 9

    为什么此C代码段不会导致分段错误?

  10. 10

    为什么以下代码使用`c ++ 03`而不是`c ++ 11`进行编译

  11. 11

    为什么以下代码在C,Python中给出不同的输出?

  12. 12

    为什么以下c ++代码的时间复杂度为O(n ^ n)?

  13. 13

    为什么以下C ++代码中发生内存泄漏?

  14. 14

    以下C代码输出一个分段错误错误,我几乎不明白为什么

  15. 15

    为什么以下涉及指针的C表达式不求值为错误?

  16. 16

    为什么以下C#代码在可为空的DateTime初始化时引发NullReferenceException?

  17. 17

    为什么以下代码会产生分段错误?

  18. 18

    为什么以下代码会运行?

  19. 19

    为什么以下Python代码错误?

  20. 20

    为什么在以下函数中出现此错误“ pngrutil.c:27:error:在'='标记之前的预期';',','或')'”?

  21. 21

    学习C ++指针会与以下代码一起进入核心转储,我真的不为什么吗?

  22. 22

    为什么以下代码无法编译?

  23. 23

    为什么在执行以下C代码时出现错误“表达式语法”:

  24. 24

    您能否通过执行以下C代码来解释为什么会输出:'dcc d'?(指针)

  25. 25

    为什么以下C语言代码给出此输出?

  26. 26

    为什么以下代码使用`c ++ 03`而不是`c ++ 11`进行编译

  27. 27

    为什么以下代码显示错误?

  28. 28

    为什么以下代码不终止?

  29. 29

    为什么我在以下代码中出现分段错误?

热门标签

归档