程序语法似乎都没错,为何程序无法正常运行?

图片说明

如图,我似乎没找到什么错误...qwq

c

3个回答

你的数组定义有问题,n=0,int num[n],就是一个0个元素的数组,根本输入不进去。C99好像是可以支持动态数组了,n的初值不要赋为0.

qq_43290600
TPBzwy 回复whandwho: 没错呀是大一新生,沉迷学习qwq
大约一年之前 回复
whandwho
大川里的小川人 回复qq_43290600: OOK噢,,加油,看样子应该是大一的学生叭。
大约一年之前 回复
qq_43290600
TPBzwy 刚刚发现了..不过还是谢谢你qwq
大约一年之前 回复

我似乎懂了,是int num[n]那出了问题,n在那时候还是变量(或者说等于0),于是乎int num[n]似乎反应不过来?应该把这句移到scanf下面才能保证[]里为确定值。大佬们我这样理解似乎没错吧qwq

qq_43290600
TPBzwy 回复whandwho: 噢噢!谢谢
大约一年之前 回复
whandwho
大川里的小川人 回复qq_43290600: 这就是计算机内部内存的分配问题了,因为计算机在分配数组空间的时候,不知道预分配多大的空间,而数组长度也不是固定了,会有一些未知错误。
大约一年之前 回复
qq_43290600
TPBzwy 回复whandwho: 动态数组为何要少用..会导致什么方面的问题qwq
大约一年之前 回复
whandwho
大川里的小川人 回复qq_43290600: 试一试你自己的想法就知道了,这个没有定数的噢。
大约一年之前 回复
qq_43290600
TPBzwy 回复whandwho: 好的好的
大约一年之前 回复
whandwho
大川里的小川人 试试就知道了,然后动态数组这个东西尽量少用,数组最好是给定一个初始的长度。
大约一年之前 回复
qq_43290600
TPBzwy 看到了采纳回答发现我的理解还是有偏差qwq,参考采纳答案吧
大约一年之前 回复

可以将int num[n];移动到scanf("%d",&n);下面再运行看看

qq_43290600
TPBzwy 试出来了,不过还是谢谢回答
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!