求大佬解答:《带你学C带你飞》第13节课后习题 动手题第2题第一个程序
求大佬解答!!!如图在我用白笔圈出来的地方,我把 num=num*10+(ch-'0') 换成 num=num*10+ch为什么就不对了呢?
按照运算符优先级,是先计算 乘法 再算 加法 再 赋值 的嘛! 加个括号的话,只是先算括号而已呀,但是(ch-'0')结果不还是等于 ch 吗? 实在想不通了 不是,对应 ascii 码 '0' 是 48 多谢多谢,突然想明白了!如果输入1 ,那么计算机认为ch就是49,所以要减去一个48,也就是减'0'。才能和num进行数字运算!
页:
[1]