通过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的值
懂了,懂了,谢谢
追答望采纳,纯个人现场分析,纯个人手打,无任何复制粘贴!!
以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?
本回答被提问者采纳