求解析过程 和原因 结果

#include <stdio.h>
int main()
{
int x,i;
for(i=1;i<=100;i++){
x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf("%d",x);

}
return 0;
}

这个就是求1到100之间,相邻三个数分别是2的倍数,3的倍数和7的倍数的情况,输出三个数中最后那个数
三个if是嵌套的,printf语句必须三个if都成立。++x是x先加1,再进行求余
格式化一下代码更清楚:

int main()
{

    int x,i;
    for(i=1;i<=100;i++){
        x=i;
        if(++x%2==0)
            if(++x%3==0)
                if(++x%7==0)
                    printf("%d\n",x);

    }
    return 0;
}

img


最后输出表明,连续的三个数分别为26,27,28,以及68,69,70