21)有以下程序
# include <stdio.h>
main()
{ int n=2,k=0;
while (k++ &&n++>2);
printf("%d %d\n",k,n);
}
我看程序的结果是 0 2 答案给的结果是1 2 请帮我分析并讲解一下,先谢谢了!
你好,问一下 0&&?为0什么意思 k=0,k++不是得1了么,不就是1&&n++>2了么,还有n++>2为什么不执行啊
追答非零即真
&&是逻辑运算符,只有两边都为一才为真
k=0;
0&&0=0,0&&1=0
所以,n++>2不执行,n的值不变
k++是先用后加,你说的是++k,先加后用
在麻烦问你一下是不是while里k++先用后加k=0了 后面的就直接不看了啊,所以就不执行n++>2
追答先用后加,0&&任何数都为假,后面的不执行了,
然后k++,为1
输出1 2