请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于数组内容未赋值的位置

老师,你说未赋值的arr[8]和arr[9]的值是不确定的,但我的实现里这两个位置看起来像是被默认赋值为0了

https://img1.sycdn.imooc.com//szimg/61a9ab20097485de19141080.jpg

正在回答

1回答

看看你是什么版本的VS,不同版本支持的编译器行为可能不一样。这种情况属于C++标准未定义形式,具体取决于编译器自身行为。你换一个编译器可能就不一样了,所以最好保证初始化,否则行为可能不一致。

0 回复 有任何疑惑可以回复我~
  • 老师,您好像说错了!我记得开辟空间如果没有赋值,则值是不确定的,如果赋值之后,没有满的空间都和定义静态数组一样,初值为0。
    这是我找到的一篇博客,上面解释的比较详细,而且这个规则在c语言上同样适用。
    https://www.cnblogs.com/fnlingnzb-learner/p/8057257.html
    回复 有任何疑惑可以回复我~ 2022-04-04 16:01:47
  • 但是对于超出数组边界的值是不确定的。在c语言上可以通过int arr[10] = {0}实现数组的初始化,即每一个数组元素都为0。
    回复 有任何疑惑可以回复我~ 2022-04-04 16:05:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信