首先要你要知道几点:
1. printf("%d",--x)和printf("%d",x--)的区别:
前者是先计算x=x-1再输出x值,后者是先输出x值再计算x=x-1
2. continue的作用:
continue是结束本次循环,跳过循环体下面未执行的语句
在这题里就是跳过printf("%d,",--x);这行回到for(; x>0 ; x--)这行
3. if(0)和if(非零):
0值为假,非零的值为真。所以if(0)里面的语句是不执行的,if(非零)里的执行
//--------------------------------------------------分割线----------------------------------------
过程(每一步就是每一次判断x>0是否成立):
1.此时x=8,因为x%3=非零,所以输出x值8,再计算x=x-1,continue回到for(; x>0;x--)这行计算x--
2.此时x=6,因为x%3=0,所以执行printf("%d,",--x);这行即计算x=x-1,再输出x值5
最后回到for(; x>0;x--)这行计算x--
3.此时x=4,因为x%3=非零,所以输出x值4,再计算x=x-1,continue回到for(; x>0;x--)这行计算x--
4.此时x=2,因为x%3=非零,所以输出x值2,再计算x=x-1,continue回到for(; x>0;x--)这行计算x--
5.此时x=0,这个时候x>0已经不成立了,程序结束了
温馨提示:答案为网友推荐,仅供参考