当输入为0的时候结束输入 如何解决呀 c语言

2025-04-13 13:49:55
推荐回答(3个)
回答1:

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++;
}

回答2:

使用for循环 先取地址给a[i] 用IF来判断a[i]是不是等于0 等于零就break

回答3:

为什么不这么些
do
{
scanf("%d",&a[i]);
i++;

}
while(a[i-1]!=0)