c狐鹄 发表于 2022-4-14 12:02:14

求大佬帮助


为什么用getchar()输入0和1都显示default的错误,{:5_105:} 用scanf就没问题

风车呼呼呼 发表于 2022-4-14 12:08:40

getchar()返回的是字符类型,把一个字符赋值给整型变量,变量a的值是字符的ASCII码值
你用getchar()输入1,获取到的不是数字1,是字符1的ASCII码值(49)

zzxhh628 发表于 2022-4-14 12:27:04

getchar()只能接收字符并返回字符,你根据它的名字就可以看出,所以你通过switch判断的是字符的ASCII码,并不是你输入的数字,所以switch中没有匹配的。0的ASCII码是48,1的ASCII码是49,所以相当于你输入的是数字48或49再到switch进行判断。
页: [1]
查看完整版本: 求大佬帮助