[求助]请教一道有关数组的题
题目是这样的:编写一个程序,从键盘输入10个实数计算并输出算术平均数。#include<stdio.h>
main()
{ float a[10],sum=0,p; /* a[10]存储实数,sum为和,p为平均数 */
int i;
printf("input 10 numbers:");
for(i=0;i<=9;i++) /* 存a[i]数组的for语句 */
scanf("%f",a[i]);
for(i=0;i<=9;i++)
sum+=a[i]; /* 10个实数之和*/
p=sum/10; /* 求平均数 */
printf("%f",p);
}
一般这种情况,写好程序并没有语法错误时,按ctrl+F9就会切换到DOS界面并显示“input 10 numbers:”的,可是我这次按了后并没有反映,依然在编程界面,如果此时按alt+F5,就会切换到DOS界面并且显示
“input 10 numbers: scanf: floating point formats not linked
Abnormal program termination”
请问这是怎么回事呢?我的程序错在什么地方?谢谢!
----------------解决方案--------------------------------------------------------
http://www.bc-cn.net/bbs/dispbbs.asp?boardID=5&ID=18233&page=3
----------------解决方案--------------------------------------------------------
多看精华帖啊
----------------解决方案--------------------------------------------------------
把你的scanf("%f",a[i]);改成scanf("%f"&a[i]);
本程序在Turboc 2中运行通过
----------------解决方案--------------------------------------------------------
scanf("%f",a[i]);
着个怎么能通过呢,,,加个&~~~!!!
----------------解决方案--------------------------------------------------------
呵呵,一看就是TC的典型BUG
珍爱生命,远离TC
----------------解决方案--------------------------------------------------------
今天一运行又可以通过了,谢谢各位。
应该是&a[i]的,只是我把代码抄过来的时候漏掉了 “&”。汗
谢谢giant提供的链接,我想还真是TC的BUG,真有些受不了它了,每次打开系统都很慢。。。。
----------------解决方案--------------------------------------------------------
是将[scanf("%f",a[i]);改成scanf("%f"&a[i]);]
并且你以后还要注意尽量把数据类型写通!
小建议!
----------------解决方案--------------------------------------------------------
对了,以后可以在编完程序后,用F8执行一下,问题就出来了!
一定试试哟!
----------------解决方案--------------------------------------------------------
TC在DOS下操作有点麻烦,可以试试WIN-TC。个人觉得比较方便
----------------解决方案--------------------------------------------------------