易怡壹 发表于 2014-3-14 10:52:51

关于while( scanf("%d",&i))问题请教

# include <stdio.h>
int main()
{
        int i,j,a;
        while(a = scanf("%d %d",&i,&j))
        {
                printf("输入%d 个数字!请继续输入\n",a);
        }
        return 0;
}

输入两个数字的时候返回2 打印完能返回到while那里 重新输入
但是在输入一个或者两个都不是数字的时候 返回到while 以后不能重新输入 直接向下执行 此时a = 0(因为没有读取成功)
程序直接结束

还有如果是while(!scanf(“%d”,&i) )时 也会出现同样情况 只要第一次输入的不正确 scanf 返回0 之后while 循环里的语句就会一直执行下去

请求各位大神帮忙解决一下 不胜感激

页: [1]
查看完整版本: 关于while( scanf("%d",&i))问题请教