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日

悬赏问题

  • ¥15 oracle数据库查询语句问题
  • ¥15 有没有c++绘制算法的佬们吗救孩一下
  • ¥15 android 蓝牙闪退
  • ¥15 绝缘子污秽comsol仿真参数
  • ¥15 Fatal error in Process MEMORY
  • ¥15 labelme生成的json有乱码?
  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码