首页 > 解决方案 > 是否有另一种编写带有 scanf 的 if 语句的方法?

问题描述

下面的代码似乎表明,只要没有为 &a 和 &b 分配 2,程序就会退出循环,结束循环。但是,当 &a 和 &b 的值都为 2 时,程序确实结束了,这似乎与用 != 编写的相反。不应该是'=='吗?

int main(void)
{
    double a, b;
    
    while(1)
    {
        if( scanf( "%lf%lf", &a, &b ) != 2 )
            break;
        printf("%10.2lf  %11.5lf  %10.2lf  %11.5lf\n",
            a, a, b, b);
    }
    
    return 0;
}

标签: c

解决方案


推荐阅读