C语言程序问题求解惑

img


求各位帮我看看我的疑惑,就是这个fir循环中,如果m%2不等于1,那么会执行m-=3吗?还有请问这个答案是m=3,n=20吗?谢谢解惑🌹

会执行m-=3,因为continue语句在if(m%2==1)里面
你为什么认为m=3呢?你可以根据for循环过程自己画一画啊
第一次循环,m=1,n=1,m是奇数,所以m+=5后m=6,continue继续循环,n++后n=2
第二次循环, m=6,n=2, m是偶数,所以m-=3后m=3,继续循环n=3
第三次循环,m=3,n=3,m是奇数,所以m+=5后m=8,继续循环n=4
第四次循环,m=8,n=4,m是偶数,所以m-=3后m=5,继续循环n=5
第五次循环,m=5,n=5,m是奇数,所以m+=5后m=10,继续循环n=6
第六次循环,m=10,n=6,m是偶数,所以m-=3后m=7,继续循环n=7
第七次循环,m=7,n=7,m是奇数,所以m+=5后m=12,继续循环n=8
第八次循环,m=12,n=8,m>10,循环结束
最终m=12,n=8

如果m%2不等于1,才会执行m-=3,我算的答案应该是12 8

img