求帮助
num = 10 * num + (ch - '0');这一个算符我看不懂 因为你输入一个数字,是以字符形式ch存在的将ch - '0' 就得到了实际的数,比如 '5' - '0' == 5 用对应的10 或16 进制相减 得到的字符
这是一个有趣的十进制算法
比如 你输入2345
getchar()逐个接收
先从第一个2开始num = 10 * 0 + (2 - 0)== 2
第二次循环num = 10 * 2 + (3 - 0) == 23
第三次循环 num = 10 * 23 +(4 - 0) == 234
第四次循环 num = 10 * 234 + (5 - 0) == 2345 ch-'0'就是输入字符ch对应的实数值,比如‘0’对应ASCII是48,那么‘0’ - ‘0’=0。即字符转数值
页:
[1]