scanf()函数的返回值不是地址吧,应该是int值
当scanf()函数正确调用时,返回参数个数
比如:scanf("%d%d",&a,&b),当正确输入后,返回2
当scanf()遇到非法字符输入,返回0
当scanf()调用失败时,返回EOF(值为-1)
----------------------------------------
你这道题,输入数据为0的话,scanf()函数是调用成功的,你不能用返回值来作为结束循环的条件
你可以 这样
while(scanf("%d",&a[i])!=0)
{
if(a[i]==0)
break;
i++;
}
温馨提示:答案为网友推荐,仅供参考