程序的输出结果与计算过程

来源:百度知道 编辑:UC知道 时间:2024/05/28 06:43:03
#include "stdio.h"
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);
}
printf("\n");
}
本程序的计算过程是怎样的,请各位高手具体指导。

输出1-100间,能被2和7整除,且被3除余1的数.

1到100 中所有 加1能被2整除 加2能被3整除 加3能被7整除的数

x从1到100
%是除后取余的意思
++X就是X+1
解释到这样应该可以理解吗?

本文中一共4个++,我觉得实在很难直接说出结果,上机试验吧,结果会出乎你的意料的~

{ int x,i;
for (i=1;i<=100;i++) /*第一趟:i=1并小于100.第二趟:
{ x=i; /*x=1
if (++x%2==0) /*第一趟:(1+x)%2==0,即2除2求余是否为0,成立继续下一条语句;
if (++x%3==0) /*第一趟:此时x=2所以(1+2)%3==0,道理同上
if(++x%7==0) /*第一趟:此时x=3所以(1+3)%7==0,不能整除7,返回i++,即(i=2;i,+100;i++)循环一直做,做到这个数能被2,3,7整除
printf("%d",x); 第N趟:然后输出这个数,然后在返回到i++,一直到i>100,程序结束
}
printf("\n");
}

++x :是自增,即先对x+1后,在与其它语句进行运算(先算后用)
x++:则是相反(先用后自我加1)