for (x=10;x>3;x--) { if(x%3) x--;--x;--x; printf("%d",x); }运行过程是怎样的啊,求解答,初学者求详细

2025-06-23 00:47:53
推荐回答(3个)
回答1:

x=10时,x%3不等于0,所以执行X--,--X,--X,然后X=7;输出 7;然后执行循环条件里的x--,然后x=6;
x=6时,x%3等于0,所以不执行X--,直接执行--X,--X,然后X=4;输出 4;然后执行循环条件里的x--,然后x=3;
x=3时跳出循环。

回答2:

for (x=10;x>3;x--)//就是一个for循环当x>3时执行循环语句
if(x%3)//x%3有2中情况一个是等于0另一个是大于0大于0是执行下面的语句
x--;//相当于x-1
--x;//相当于x-1
--x;相当于x-1
printf("%d",x); //输出x

回答3:

x初始值为10
等价于以下内容:
while (x>3)
{
if (x%3) x--;
--x;
--x;
printf ("%d",x);
x--;
}

其中,x%3为x除以3的余数 而if判断相当于检查值是否"不为零"

就是说,x不被3整除时x--,即x=x-1