c语言数组求和

#include<stdio.h>
main()
{int i,m;
float a[100],s=0;

for(i=0;i!='\n';i++)
scanf("%f",&a[i]);
m=i;
for(i=0;i<m;i++)
{s=s+a[i];}

printf("%f",s);
getch();

}
帮我看看哪错了 谢谢
就是求输入的数的累加和的,知道换行为止

第1个回答  2010-12-29
for(i=0;i!='\n';i++)
这里有问题,i怎么能跟'\n'比较,即使写a[i],a[i]是浮点型,也不对呢
#include <stdio.h>
main()
{
int i,m;
float a[100],s=0;
char c='a';
for(i=0;c!='\n';i++)
{
scanf("%f",&a[i]);
c=getchar();
}
m=i;
for(i=0;i<m;i++)
{
s=s+a[i];
}
printf("%f",s);
getchar();

}
第2个回答  2010-12-30
应该把for(i=0;i!='\n';i++)改成for(i=0;a[i-1]!='\n';i++),在给a[0]赋个初值就行了吧
第3个回答  2010-12-29
getch();
换成
getchar();
或者 用getch();时
需添加#include<conio.h>
第4个回答  2010-12-28
#include<conio.h> 与 #include<stdio.h> 的作用应该都是输入输出的作用(2楼)
i!='/n' i不等于换行 是什么意思 ? 可以说下这个程序是做什么的吗?本回答被提问者和网友采纳