C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因

2025-05-17 03:36:13
推荐回答(1个)
回答1:

首先是行缓冲的。也就是到回车才表示输入结束。
第一个是字符2,ASCII码为50,‘2’-‘2’=0;case 0执行,后面没有break,所以执行case 1,ASCII为50+4=54,为字符6,输出字符6.,没有break,执行case 2:输出6
第二个字符‘4’,‘4’-‘2’ = 2.执行case 2;输出8
第三个字符‘7’,‘7’-‘2’=5,执行default,输出9
第四个字符‘3’,‘3’-‘2’=1,执行case 1:输出7,没有Ubreak,再执行case 2。输出7