c语言:switch语句怎么运行的?围绕题目讲解,谢谢

如题所述

    通过for循环,开始n=0,然后进入循环执行switch语句,switch(0),switch语句中的case开关中没有常量0的开关,所以执行default语句,由于没加“break;”所以会依次执行case1、case2、case3然后跳出switch语句,再次循环;

    再次循环经过“n++”n=1,所以执行switch中的case1开关,由于没加“break;”所以会依次执行case2、case3然后跳出switch语句,再次循环;

    再次循环经过“n++”n=2,所以执行switch中的case2开关,由于没加“break;”所以会依次执行case3然后跳出switch语句,再次循环;

    再次循环经过“n++”n=3,所以执行switch中的case3开关,case3后没有任何开关或default语句,所以直接跳出switch语句,再次循环,当再次执行n++后,n<4为假,然后跳出循环,输出“s”,程序结束!

追问

以n=3为例,怎么执行case3呢,可以详细讲一下嘛,谢谢

追答

首先,经过case1和case2和default三段语句的运算,此时s=7
当n=3时,执行常量开关case3,执行 S+=3【S=S+3 (S=7+3)】
此时S=10;
然后case3后没有任何开关或default语句,所以直接跳出switch语句,再次循环,当再次执行n++后,n<4为假,然后跳出循环,执行printf语句输出S的值

追问

懂了,懂了,谢谢

追答

望采纳,纯个人现场分析,纯个人手打,无任何复制粘贴!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-06
判断n的值是多少,如果是1,就执行+1,如果是2就执行后面的+2,如果是3就执行后面的3,如果是错误,就执行后面的+4。追问

以n为1为例的话,怎么执行呢,可以详细讲一下嘛

追答

n为1,s+1,然后循环n为2,s+1+2,再循环,n为3,s+1+2+3

明白?n的数值是变化的,有个for循环。

理解了请采纳,纯手打,谢谢。

追问

最后输出s=24是怎么求出来的呢?初学者,不太懂,麻烦了

追答

应该是4+1+2+3=10才对,确定24?

本回答被提问者采纳
相似回答