木爪吃多好吗?:为什么输出结果是28,和70啊,求求大哥们告诉我,小弟刚学编程

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 09:25:42
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");

}

28/7=4;也就是28%7=0;没错吧
++x=28所以往上看++x%3时x=27;
27/3=9;
26/2=13;
把是28会输出

70也一样

正着看.循坏到x=25时.++x=26 (26%2==0) 也++x=27 27%3=0;再++x=28 28%7=4;

++x是先把x+1再把结果来整除;
x++则是先把x的值用来运算,再把x+1;

其实应该是i=25时输出
在执行if(++x%2==0)的时候,x先进行自加运算,变成了26能被2整除 所以继续执行下一个if语句
在执行if(++x%3==0)的时候,x先进行自加运算,变成了27能被3整除 所以继续执行下一个if语句
在执行if(++x%7==0)的时候,x先进行自加运算,变成了28能被7整除 所以继
所以输出x时x=28;
同理70应该是i=67时