这个是什么意思?怎么做?看不懂,大神可以帮我解释一下吗?
问题描述:
#include <stdio.h> int main() { int k=0; while(k++<=2); printf("last=%d\n",k); return 0; }
答
#include <stdio.h>
int main() {
int k=0;
//k++表示先返回k的值,再执行k=k+1,这句先处理k++,再比较是否小于2
//while(k++<=2);
//等价于
// while(1){
// if(k<=2){
// k = k+1;
// }else{
// k = k+1;
// break;
// }
// }
while(k++<=2);
printf("last=%d\n",k);
return 0;
}
答
就是k++和++k的区别,当k = 3时,不满足条件,再++,最后printf的时候k为4
答
我上面写错了一点,当时写快了,没注意,while(k++<=2)解释为 拿k的值跟2比较,然后根据比较的结果判断是不是进入循环,而且无论比较结果如何,k都会加1