这两种scanf用法都一样,为什么输出不一样?求解

img

img


图2的while形式是图1的简写,但输出不一样,我尝试吧while(input==1)改成while(input!=0),循环能正常进行。
望解答

scanf()==1这不是指input==1,是指这个操作返回的结果,一般情况下都是1,没有输入的时候是-1,即EOF;
跟input==1区别很大

你输入的内容肯定不是1啊

scanf()==1表示输入的是一个合理的数,返回的结果为1,否则返回0。

跟你直接用while(input==1)肯定是不一样的,这个表示,输入的温度为1才会进入循环。

第一种要求输入1才行,第二种只要求有输入,不要求输入的是1,自然不一样啊
完全判断的都不是一个东西啊