[问题] 新手C语言阵列问题

楼主: qq0925921 (Cioufano)   2016-05-28 17:54:14
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
DEV C++
问题(Question):
我想要随机产生一百个介于1~100的乱数
印出产生的100个乱数
然后在底下印出平均值
执行时印出乱数后还没印出平均值就停止程式
我拿去问教授他说看起来没有错
换一台电脑跑看看就可以了
可是我试了三台电脑还是不行
喂入的资料(Input):

预期的正确结果(Expected Output):
随机产生一百个介于1~100的乱数并取算出平均值
错误结果(Wrong Output):
虽然编译的过,但是开始执行后就出现程式已经停止运作,然后发现底下也出现一行警告
讯息,上网查了一下好像是指标问题,可是我没有用指标啊@@
[Warning] passing arg 1 of 'Average' makes pointer from integer without a cast.
程式码(Code):(请善用置底文网页, 记得排版)
网站: http://ideone.com/wkvLhx
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM 100
float Average(int []);
int main()
{
int n[NUM], i;
srand(time(NULL));
for(i = 0; i<NUM; i++) {
n[i] = rand()%100 + 1 ;
printf("%d%c",n[i],(i%10==9)?'\n':'\t');
}
printf("
作者: s89227 (Kei)   2016-05-28 18:00:00
第十九行,Average(NUM)怎么会传NUM进去呢要传起始阵列位置吧NUM是一个整数,可是你要求的参数是一个pointer所以会出现那个错误讯息可是我没有用指标←所以你写错了XD
作者: LPH66 (-6.2598534e+18f)   2016-05-28 18:09:00
是说这里有个 decaying 的问题 (关于错误讯息为何写指标)不过那是题外话, 重点确实在你的呼叫传错了你的函数是吃一个阵列的但你丢一个数字进去
楼主: qq0925921 (Cioufano)   2016-05-28 18:13:00
感谢~原来这样也算要求一个pointer,所以应该直接丢n进去对吧@@
作者: prismwu   2016-05-28 21:55:00
一般来说 换一台电脑跑跑看应该不会有用...
作者: fatrabitree (胖兔子)   2016-05-29 01:51:00
教授看不出来...!!
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-05-29 10:22:00
老师才没空看 呼拢你一下 问助教卡实在
作者: s89227 (Kei)   2016-05-29 12:26:00
找教授debug......要找真正一直有在写的啊XD
作者: ronin728 (浪人)   2016-05-30 09:36:00
找助教比较实在啊XD
楼主: qq0925921 (Cioufano)   2016-05-30 13:18:00
我觉得教授应该是懒的看XD
作者: sss22213 (sss22213)   2016-05-31 02:12:00
函式6.5.2.2Array在6.5.2.1中有写到one of the expressions shall have type "Pointer to object type"
作者: ksks5222 (Prue)   2016-06-03 20:25:00
你这样传给函数只传整数100而已你应该要把n位址传过去吧
作者: EngRookie (EngRookie)   2016-06-13 00:45:00
教授..........?
作者: t20d (踢饿死低)   2016-06-15 04:45:00
教授看不出来 原本觉得是懒得看觉得换几台电脑就能跑比较不可思议

Links booklink

Contact Us: admin [ a t ] ucptt.com