c语言程序题,求运行结果,同时分析下

如题所述

第一次进入循环之前m=0,n=0;进去循环,n>=10条件不符号,继续向下执行,执行了m++,此时m的值变为1,n的职位0,不符合n对3取余为1的条件,继续向下执行,n += 2 = n + 2 = 0 + 2 = 2;所以第一次循环会打印出 m = 1, n = 2;
第二次进入循环跟第一次一样的顺序执行,会打印出 m =2,n = 4;
当第三次进入循环的时候,m = 2, n =4;程序运行到n对3取余是否为1时满足if的判断条件,故进入if后面的n = n+3 此时m=3,n =7当执行完n=n+3之后继续执行后面的continue,程序结束本次循环,进行下一次循环。
第四次进来时m = 3,n = 7,跟第三次循环一样,会执行continu结束本次循环,此时m=4,n = 10继续进行下一次循环。
第五次进入循环,由于n=10,满足if(n>=10) break的条件,所以程序会跳出while循环。继续执行到结束。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-21
m=1,n=2 //m=0,n=0,因此执行m++,n+=2 输出
m=2,n=4 //m=1,n=2,因此执行m++,n+=2 输出
然后因为4%3==1 因此执行n=n+3,执行continue;不执行后面的n+=2和输出;
之后因为n%3总是==1,因此执行continue;不执行后面的n+=2和输出;
结果就是解释呀!每一步运算!
最终的输出结果就是
m=1,n=2
m=2,n=4追问

答案是m=1,n=2
m=2,n=4

麻烦解释下

追答

上面已经解释了!

相似回答