为了账号安全,请及时绑定邮箱和手机立即绑定

struct定义了50组后超过50组为什么还能正常


struct Student

{

    int math;

    int english;

};

struct Student stu[50];

    srand((int)time(0));

    //为其中一个学生的成绩随机赋值

    for (int i = 0; i < 55; i++)

    {

        int a = random(1, 10);

        int b = random(1, 10);

        stu[20].math = a;

        stu[20].english = b;

        printf("%d=,%d,%d\n",i, stu[20].math, stu[20].english);

    }

我定义了50组,for循环54,超出4组,为什么还能正常运行呢?长度难道是自增长的吗?那还定义多少组有什么意义?


正在回答

2 回答

并不是自己增长得哦。如果超出的不多,那么是可以运行的。但如果超出的非常多,会给你报错。正常来说你输出的内容应该是0吧?因为并没有定义。你这个代码是越界的,是有错误的,不报错不代表是对的。

0 回复 有任何疑惑可以回复我~

正常云行但是输出不了吧

0 回复 有任何疑惑可以回复我~
#1

Vanchen 提问者

输出正常
2022-03-06 回复 有任何疑惑可以回复我~
#2

慕粉1549276780 回复 Vanchen 提问者

time 和random函数怎么在vscode中用勒
2022-03-06 回复 有任何疑惑可以回复我~
#3

Vanchen 提问者 回复 慕粉1549276780

#define random(a,b) (rand()%(b-a)+a)
2022-03-06 回复 有任何疑惑可以回复我~
#4

慕粉1549276780 回复 Vanchen 提问者

的确可以。。
2022-03-06 回复 有任何疑惑可以回复我~
#5

Vanchen 提问者 回复 慕粉1549276780

你试过了?不知道啥情况,这样的话,定义多少组就没意义了
2022-03-06 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

struct定义了50组后超过50组为什么还能正常

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信