ChenDennis 2022-12-13 21:30 采纳率: 33.3%
浏览 9
已结题

关于#c++#的问题

我编了一段这样的c++代码:

#include <iostream>
using namespace std;

int main() {
    int nums[] = {};
    for (int i = 0; i < 5; i ++) {
        nums[ i ] = i;
    }
    for (int i = 0; i < 5; i ++) {
        cout << nums[ i ] << "\n";
    }
    return 0;
}

我希望结果是

0
1
2
3
4

返回结果却是

0
5
2
3
4

我尝试过把第5行改成

int nums[ 5 ] = {};

却好了
有没有人帮我解答一下问题

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-12-13 22:30
    关注

    int num[] = {} 实际数组只分配了一个元素空间,因此后面都越界了
    int num[5] = {0},明确分配5个元素的空间

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 修改了问题 12月13日
  • 创建了问题 12月13日