#include "stdio.h"int main(){int m=9;for (; m > 0; m--)if (m % 3 == 0)printf("%d", --m);return 0;}

#include"stdio.h"intmain(){intm=9;for(;m>0;m--)if(m%3==0)printf("%d",--m);return0;}为什... #include "stdio.h"int main(){int m = 9;for (; m > 0; m--)if (m % 3 == 0)printf("%d", --m);return 0;}
为什么答案是852,请详细叙述一下运行过程。谢谢啦!
展开
 我来答
xgn911
2022-12-10 · TA获得超过1364个赞
知道小有建树答主
回答量:1493
采纳率:96%
帮助的人:654万
展开全部

代码为:

int main() {

    int m = 9;

    for (; m > 0; m--)

        if (m % 3 == 0)

            printf("%d", --m);

    return 0;

}

初始m=9,进入for循环,判断m>0,执行循环语句

if判断,9%3==0成立,执行printf语句,先--m得到8,再打印m的值为8

m--进入下一循环为7,判断m>0,执行循环语句

if判断,7%3=1≠0,m--进入下一循环为6,判断m>0,执行循环语句

if判断,6%3==0成立,执行printf语句,先--m得到5,再打印m的值为5

m--进入下一循环为4,判断m>0,执行循环语句

if判断,4%3=1≠0,m--进入下一循环为3,判断m>0,执行循环语句

if判断,3%3==0成立,执行printf语句,先--m得到2,再打印m的值为2

m--进入下一循环为1,判断m>0,执行循环语句

if判断,1%3=1≠0,m--进入下一循环为0,判断m>0不成立,跳出循环,程序结束

因此最终输出为:852

注意--m先执行--,再返回m的值;m--先返回m的值,再执行--;望采纳~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式