while(scanf("%d",&n)==1&&n>0)是什么意思啊?

来源:百度知道 编辑:UC知道 时间:2024/06/08 18:51:11
谢谢"阳光上的桥"~不过scanf("%d",&n)==1&&n>0的意思还是不理解啊,而且"&&"不是并且的意思嘛,如果这样岂不是成了:输入一个整数n,当n的值=1并且>0的时候执行循环了嘛```太奇怪了```

从键盘上读入一个整数存入变量n,如果读入失败(遇到CTRL+D或者UNLIX的CTRL+Z)则推出循环,然后判断n是否大于0,如果不大于0则退出循环,否则执行循环体语句组。

补充:
我上面好像说清楚的呀,&&是可以短路运算的,不要同事看两个条件,程序首先检测第一个条件是否成立,如果不成立就退出,否则判断第二个条件,遇到不成立的就退出,直到所有条件都判断完毕。