展开全部
你说的有道理。
这是一个for循环,循环变量为c,循环初值是'A',循环条件是<'F',步长为1。循环体是整个switch开关语句,内容是对k做不同的计算。
程序执行过程:
前赋值k=0
第一次循环,c='A',且<'F'成立,进入循环体。switch(++c)这一句先计算++c,c自增后是'B',switch('B'),运行case'B':k--,自减后k=-1;case'C':k+=2,k+2后是1;case'D':k=k*10,即k=1*10=10,执行后面的break,跳出switch。c自增1,从'B'增为'C'后,进入下一个循环。
第二次循环,c='C',c<'F'成立,进入循环体。先计算++c,c自增后是'D',switch('D'),运行case'D':k=k*10,即k=10*10=100,执行后面的break,跳出switch。c自增1,从'D'增为'E'后,进入下一个循环。
第三次循环,c='E',c<'F'成立,进入循环体。先计算++c,c自增后是'F',switch('F'),运行case default: k=k/3,即k=100/3=33。c自增1,从'F'增为'G'后,进入下一个循环。
第四次循环,c='G',c<'F'不成立,循环结束。
最后输出k的值33。程序结束。
这是一个for循环,循环变量为c,循环初值是'A',循环条件是<'F',步长为1。循环体是整个switch开关语句,内容是对k做不同的计算。
程序执行过程:
前赋值k=0
第一次循环,c='A',且<'F'成立,进入循环体。switch(++c)这一句先计算++c,c自增后是'B',switch('B'),运行case'B':k--,自减后k=-1;case'C':k+=2,k+2后是1;case'D':k=k*10,即k=1*10=10,执行后面的break,跳出switch。c自增1,从'B'增为'C'后,进入下一个循环。
第二次循环,c='C',c<'F'成立,进入循环体。先计算++c,c自增后是'D',switch('D'),运行case'D':k=k*10,即k=10*10=100,执行后面的break,跳出switch。c自增1,从'D'增为'E'后,进入下一个循环。
第三次循环,c='E',c<'F'成立,进入循环体。先计算++c,c自增后是'F',switch('F'),运行case default: k=k/3,即k=100/3=33。c自增1,从'F'增为'G'后,进入下一个循环。
第四次循环,c='G',c<'F'不成立,循环结束。
最后输出k的值33。程序结束。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询