求助 高手来看一下我的C程序错那里了

来源:百度知道 编辑:UC知道 时间:2024/05/16 22:24:11
题目是当信号由弱变强再变弱的过程,输出最大点的值。
main()
{
int i;
float Y, a;
float x[500];
Y=0;
for (i=0;i++;)
{ printf("please enter a:");
scanf("%f",&a);
x[i]=a;
if(Y<=x[i])
Y=x[i];
else break;
}
}

#include <stdio.h> /*有改动*/
main()
{
int i;
float Y, a;
float x[500];
Y=0;
for (i=0;i<500;i++) /*有改动*/
{ printf("please enter a:");
scanf("%f",&a);
x[i]=a;
if(Y<=x[i])
Y=x[i];
else break;
}
printf("%f",Y); /*有改动*/
}

貌似你的循环就不执行嘛,第一次循环执行i=0;然后判断i++是true或者false,结果判断为false(先判断i是否为真,只要i的值不是0就是真,是0就为假,然后再自加),所以直接就跳出循环了。。