#include<stdio.h>
void main()
{int x=1;
while(x>10&&x<50)
{x++;
if(x/3){x++;break;}
else continue;
}
printf("%d\n",x);
}
i%3就是求i除以3的余数。if(i%3)就是将这个余数变换成布尔值,然后作为if语句的判断量,变换方式:
如果余数是0,则转换成false,即不成立。
如果非零,转化成true,即if成立。
在这里x初始化为8.
首先进入循环,8>0,所以循环继续,8除以3余2,那么if判断正确,则输出x--,这里就是8,因为--是后缀的,先输出再自减,然后不输出--x,因为有continue语句,则直接进入下一个循环。
这里的程序的意思就是:
如果i除以3是非零值的话就输出x,然后x--,如果是0的话,则输出--x;
当然无论是哪种方式,for循环中也有个x--;
也就是说,整个循环的Step值是2.
8%3 = 2,输出8
6%3 = 0,输出5
4%3=1,输出4
2%3=2,输出2
所以最后的答案是8,5,4,2
如果余数是0,则转换成false,即不成立。
如果非零,转化成true,即if成立。
在这里x初始化为8.
首先进入循环,8>0,所以循环继续,8除以3余2,那么if判断正确,则输出x--,这里就是8,因为--是后缀的,先输出再自减,然后不输出--x,因为有continue语句,则直接进入下一个循环。
这里的程序的意思就是:
如果i除以3是非零值的话就输出x,然后x--,如果是0的话,则输出--x;
当然无论是哪种方式,for循环中也有个x--;
也就是说,整个循环的Step值是2.
8%3 = 2,输出8
6%3 = 0,输出5
4%3=1,输出4
2%3=2,输出2
所以最后的答案是8,5,4,2
温馨提示:答案为网友推荐,仅供参考