结果一运行,发现什么都没有,以下是在下的代码,请问各位高手哪错了?
# include <stdio.h>
void main ()
{
int i;
int sum,cnt=0;
double avg;
for (i=1;1<=50;++i)
{
sum=sum+2*i-1;
cnt=cnt+2;
avg=1.0*sum/cnt;
}
printf("avg=%f\n",avg);
}
++i和i++有区别吗
追答有啊。++i是先自加然后参与运算,i++是运算完了以后自加
追问请问大侠什么时候用前自增什么时候用后自增
那把1改成i,变成i<50可以吗,结果好像还是不对啊。结果显示:avg=-8589909.600000怎么回事,平均值不可能为负,请问大侠除了1错了还有哪错了
追答sum没初值吧,大概,你试试吧。
记得不赋初值的话它的值是分配的内存里的值是随机的,所以要初始化
sum等于0,不是赋值了吗
追答既然都已经解决了,那就可喜可贺可喜可贺!
务必请你以后也这么写!