关于一个概念性的有关问题,求解
关于一个概念性的问题,求解
int j;
for(j=10;j>3;j--)
{
if(j%3)
j--;
--j;
--j;
}
printf("%d",j);
我的理解:j=10后开始循环,到第一个if(10%3==1),结果为真,然后往下执行,自减三下。第二次从6开始,到了第二次if(6%3==0),结果为假,不执行下面的。然后从循环5开始,到第三次循环从5开始,到了第三次if(5%3==2),结果为真,再自己减3下,最后结果就是为2.
结果为3,思想哪里错掉了,求高手指导迷津!
------解决方案--------------------
------解决方案--------------------
int j;
for(j=10;j>3;j--)
{
if(j%3)
j--;
--j;
--j;
}
printf("%d",j);
我的理解:j=10后开始循环,到第一个if(10%3==1),结果为真,然后往下执行,自减三下。第二次从6开始,到了第二次if(6%3==0),结果为假,不执行下面的。然后从循环5开始,到第三次循环从5开始,到了第三次if(5%3==2),结果为真,再自己减3下,最后结果就是为2.
结果为3,思想哪里错掉了,求高手指导迷津!
------解决方案--------------------
------解决方案--------------------