c语言,为什么输入2473后结果是668977,程序是怎么运行的?
发布网友
发布时间:2022-09-01 02:19
我来回答
共5个回答
热心网友
时间:2024-08-16 15:31
输入2473
循环接收:
1. 接收2,即c=‘2’,减去'2',结果为0,就会走case 0,1,2,就会输出两个c+4,即输出两个6
2.接收4,即c=‘4’,减去'2',结果为2,就会走case 2,就会输出一个c+4,即输出8
3.接收7,即c=‘7’,减去'2',结果为5,就会走default,就会输出一个c+2,即输出9
4.接收3,即c=‘3’,减去'2',结果为1,就会走case 1,2,就会输出两个c+4,即输出两个7
所以结果就是668977
热心网友
时间:2024-08-16 15:31
你输入2473,当为2时,进入switch语句(2的ASKII码是50)则为case 0:没处理
接着是case1输出c+4也就是6。但是还是没退出,接着case3还是c+4输出6。然后是你的4(4的ASKII码是52),则为case2输出8,同理7输出9,那么3输出77。故为668977
热心网友
时间:2024-08-16 15:32
童鞋,你那个2473系统把他理解成字符了 然后2的ASCII码是50 然后50-50等于0 执行第一个
由于没有break所以执行前俩 还是ascii吗 都是6 后边你一次类推吧
建议都加上break
热心网友
时间:2024-08-16 15:32
c=getchar(),你设的是输入一个字符,输入2473肯定错啊
热心网友
时间:2024-08-16 15:33
你定义的是整型,输入是字符串型,输出也是字符串型。
有变化不正常么?