展开全部
首先一点, switch(c++)
是先取值,再自加。 所以当c='A'的时候, 执行case 'A', 而不是case 'B',
所以, 依次为
c='A' k++, k=1. 退出switch 后 再次自加, k=2
'B': k--后k+=3, k=4,然后,switch外面的k++, k=5
'C': k+=3后 k++, k=9
'D':k%=2; k=1. 注意这里是continue, 所以没有后面switch外的k++了。
'E':k*=10 k=10 自加 k=11
'F': k=k/2=5 然后switch后面 k++, k=6
此时c已经自加过,c='G'退出循环。
输出k=6
是先取值,再自加。 所以当c='A'的时候, 执行case 'A', 而不是case 'B',
所以, 依次为
c='A' k++, k=1. 退出switch 后 再次自加, k=2
'B': k--后k+=3, k=4,然后,switch外面的k++, k=5
'C': k+=3后 k++, k=9
'D':k%=2; k=1. 注意这里是continue, 所以没有后面switch外的k++了。
'E':k*=10 k=10 自加 k=11
'F': k=k/2=5 然后switch后面 k++, k=6
此时c已经自加过,c='G'退出循环。
输出k=6
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询