gpt4 book ai didi

c - array[10] 与 array[n] 和段错误

转载 作者:行者123 更新时间:2023-11-30 21:28:05 27 4
gpt4 key购买 nike

我是一个绝对的初学者,我有一个无法指出的困惑。这是两个C程序

程序1。

for sum of array of big integers

程序2。

program for same

两个程序都是相同的,除了在 2 中使用 a[n] 代替 1 中的 a[10] ,两者在 devc++ 编译器中都没有显示任何错误,但为什么在 hackerrank 上第二个程序中 a[n] 显示“分段”错误”,而程序 1 是正确的

什么是“段错误”?为什么它出现在第二个程序中?为什么 devc++ 不显示此错误?

最佳答案

在第二种情况下,n 的值未初始化。它必须有一些随机值。所以你试图创建一个随机值的可变长度数组。本例出现段错误的原因:

  • 创建未初始化大小的可变长度数组

现在想象一下当我说 n 的随机值时。它可能是负数,非常大......等等。因此,制作具有未初始化大小的可变长度数组是一种不好的做法,从而导致段错误。

<小时/>

What is segmentation fault?

段错误意味着您的程序正在尝试访问不允许的内存区域。关于此主题的一篇好文章是 this 。仔细阅读并将您的问题与提到的第四个原因联系起来。

关于c - array[10] 与 array[n] 和段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44642937/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com