这个怎么分析,为什么结果和预期不一样呢这个怎么分析,为什么结果和预期不一

img


这个怎么分析,为什么结果和预期不一样呢这个怎么分析,为什么结果和预期不一

while循环 如果在while后加分号,则会一直执行while后面括号里的语句,首先k++,先参与运算再进行++,结果k==0,为假,跳出循环,此时k运算完毕等于1,所以打印的时候会是 12,k=1,n=2

k++的时候值 为0,&&,只要前边为假,就不执行后边的代码了呀,k++之后是1,n的值没变还是2

你这个程序想表达的意思是什么呢?首先while()后面不能加;,并且while循环里面k++&&n++>2始终满足为真true,退出不了循环。而且你循环体里面没有内容,最后输出的就是自加后的k和自加后的n。我给你一个正确的格式:

#include<stdio.h>

int main()
{
    int n = 2;
    int k = 0;
    while ()//判断表示式
    {
        //循环体内容
    }
    printf("%d %d\n", k, n);
    return 0;
}

这是我的循环结构博客你可以去看看,肯定会有收获的!!!
https://blog.csdn.net/weixin_64916311/article/details/127079528?spm=1001.2014.3001.5502