#include
int main()
{
int a[1000],i,max=0,q;
for(i=0;i<=1000;i++)
{
scanf("%d",&a[i]);
if(a[i]<0)
{
break;
}
}
for(q=0;q<=1000;q++)
{
if(maxprintf("%d\n",max);
return 0;
}
原因是程序访问未初始化的数组变量造成。看第二张图。
修正方法:按当前思路,只需在第一个负值(即输入的负值位置)结束循环就可以符合逻辑。