C语言编程问题
main() { int x=1,i; for(i=0;i<100;i++) if(++x%2==0) if(++x%3==0) if(++x%7==0) printf("%5d",x); } 结果是28 70 main() { int x=1,i; for(i=0;i<100;i++) if(x++%2==0) if(x++%3==0) if(x++%7==0) printf("%5d",x); } 结果是29 71 怎样解释多个if连在一起的问题,这两个的结果怎么会是这样呢??? 怎样解释这两道题 ?? 谢谢
++x%2:是先x=x+1,然后再x%2 x++%2:是先x%2,然后再x=x+1 程序中三个if是嵌套关系,即为三重if嵌套~ 第一个程序是25+1=26,26能被2整除;然后计算26+1=27,27能被3整除;然后计算27+1=28,28能被7整除;所以输出28~ 第二个程序是26能被2整除,然后计算26+1=27;27能被3整除,然后计算27+1=28;28能被7整除,然后计算28+1=29;所以输出29~ 祝你好运~ 两个应该都是:不论是否成立,都要运算x=x+1的~,你也可以自己编程实验一下~
答:你这里面程序写错了,P0=1是不对的,一般来说如果想让P0同步亮或灭,应该是设定P0^7-P0^0这八个独立的口同时为零或同时为一来使这八个口同时为低电平或高电...详情>>