#include main() {int n=2,k=0; while(k++ && n++ >2); printf("%d %d\n",k,n); }\x1a答案为什么是1,2而不是0,2,不是吧,关系运算的级别高于逻辑运算的级别啊,这样应该先算n++>2;但是n++的值为2不满足条件,即“假”

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 13:26:28
#include main() {int n=2,k=0; while(k++ && n++ >2); printf(2;但是n++的值为2不满足条件,即“假”" />

#include main() {int n=2,k=0; while(k++ && n++ >2); printf("%d %d\n",k,n); }\x1a答案为什么是1,2而不是0,2,不是吧,关系运算的级别高于逻辑运算的级别啊,这样应该先算n++>2;但是n++的值为2不满足条件,即“假”
#include main() {int n=2,k=0; while(k++ && n++ >2); printf("%d %d\n",k,n); }\x1a
答案为什么是1,2而不是0,2,
不是吧,关系运算的级别高于逻辑运算的级别啊,这样应该先算n++>2;但是n++的值为2不满足条件,即“假”然后再算逻辑关系式,就是不知道为什么k++到最终结果为1,以前算过这样例型的,例如:a=0,a++的值为多少,此时a的值为多少?值为:0,a此时的值为0.

#include main() {int n=2,k=0; while(k++ && n++ >2); printf("%d %d\n",k,n); }\x1a答案为什么是1,2而不是0,2,不是吧,关系运算的级别高于逻辑运算的级别啊,这样应该先算n++>2;但是n++的值为2不满足条件,即“假”
while(k++ && n++ >2); 执行这个的时候k=0
k++执行时,先取k的值是0,为假,所以&& n++ >2就不执行了,再将k的值加1
所以结果应该是1,2,k的值加了1,n的值没有变.
希望对你有帮助.仍有问题可以HI我.