sum = sum * 10 + ch - ‘0‘;的含义

scanf中以%c格式获取的是单个字符[1],实际存储的是该字符对应的编码。

字符'1'实际存储的值是该字符的ascii码[2],即49。

如果想得到整数1,就需要用'1'减去48,48就是'0'。

'1' - '0' = 49 - 48 = 1

你可能感兴趣的:(c语言)