我想申请一个while循环并写入了while (a!=-1)
;它应该退出,但它总是打印“0”,我不知道为什么。你可以解释吗?在while循环中打印零位
#include <stdio.h>
int main()
{
long num;
int a,i,j;
int arr[10000];
float x;
while(a != -1)
{
scanf("%d",&a);
int sum=0;
for(i=0;i<a;i++)
{
scanf("%d",&arr[i]);
sum = sum + arr[i];
}
x = sum%a;
if (x == 0)
{
int z = sum/a;
int y=0;
for(j=0;j<a;j++)
{
if (arr[j]>z)
{
y = (arr[j] - z) + y ;
}
}
printf("%d",y);
}
else
printf("-1");
}
}
我认为这是印刷y
;如何避免这样只会退出?
你能想出一个显示问题行为的最小例子吗?这里有很多事情要做,因为你使用了单字母变量,所以很难确定这个过程应该做什么。 – 2012-03-12 04:50:28
为什么printf(“ - 1”)?为什么不打印(“ - 1”)? – DanRedux 2012-03-12 04:50:34
我注意到在进入'while'循环之前你还没有初始化'a'。 – chrisaycock 2012-03-12 04:50:57