C语言 从键盘键入2473<回车> 则下面程序的运行结果是
2473<回车>
c读取2是
switch(c-'2')相当与switch(0)所以会输出bai2个2+4=6;du即全面的2个6,case语句只有碰到break才会zhi跳出dao,不然会一直运行先去;
c读取4时,switch(c-'2')相当于专switch(2)所以输出4+4=8;
c读取7时,switch(c-'2')相当于switch(5)没有找到对应的case,则输出default,7+2=9;
c读取3时,switch(c-'2')相当于switch(1),会输出case1,2两行,则是3+4=7;即最后两个属7。
c读到回车则结束。
c语言求解!若输入2473,答案为什么是668977。求详细过程!谢谢!
c-'2'是指将字符c的ascii码与字符'2'的ascii作差。2113
输入为2,差的结果为0,执行case0,没有break,继续执行case1,输出52614102c+4,因为c为2,所以输出6;没有break,继续执行case2,输出c+4,还是6;遇到break,退出swith语句1653。
输入为4,差的结果为2,执回行case2,输出c+4,为8,遇到break,退出swith语句。
输入为7,差的结果为5,执行default,输出为c+2,即答9,后面没有语句了,即使没有break,也退出switch语句。
输入为3,差的结果为1,执行case1,输出c+4,即7,没有break,继续执行case2,输出c+4,即7,遇到break,退出switch,输入结束,退出while循环。
故此输出为:668977
若运行以下程序时,从键盘输入2473,回车,则程序的运行结果是
668977
c=2
进5261casec-'2'--case0:
case1:打4102c+4输出1653回6(2+4=6)
进case2:打c+4输出6(2+4=6),break退出答
[66]
c=4
进casec-'2'--case2:
打c+4输出8(4+4=8),break退出
[8]
c=7
进casec-'2'--case5:default:
打c+2输出9,退出
[9]
c=3
进casec-'2'--case1:打c+4输出7
进case2:打c+4输出7(3+4=7),break退出
[77]
- 本文固定链接: http://www.jsfengsu.com/gpemjc/7767.html
- 转载请注明: admin 于 【阿新股票视频网】 发表