这个是什么意思?怎么做?看不懂,大神可以帮我解释一下吗?

这个是什么意思?怎么做?看不懂,大神可以帮我解释一下吗?

问题描述:

#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