关于一段简单程序的输出结果

img


大家觉得这个输出结果是8吗?我判断是1210,k=12输出12,k=10输出10,但是运行出来是8,不太理解呀

结果是 8,代码改写一下就可以了,for循环里面是空语句

#include <iostream>
using namespace std;
void main()
{
    int K = 12;
    for (; K > 8; K--)
    {
        ;
    }
    if (K % 2 == 0) printf("%d", K);
}

img

for循环后加了个;到k=8的时候跳出循环了

for(;k>8;k--); 这句最后有 ';' 分号,独立的一句代码,空循环,直到 k = 8 时退出循环,然后执行下一句输出的是 8.