2020
07-08

2473

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]


留言与评论(共有 0 条评论)
   
验证码: