又是C++的问题,请帮忙谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:33:34
buf是一个字符串,那么对于式子n*=buf[i]-'0'
怎么解释后面的-'0'呀?
小女子不是很理解这个问题
望指教
谢谢

可以这么理解。

整形变量在内存里存的就是数字。
字符在内存里存的是那个字符的ASCII编码。

比如,'1' 和 1 是不一样的.
整数的1,在内存中,可以姑且理解为就是1.
而字符的'1',在内存中存储的是他的ASCII码是49.

也就是说, 你用 '1' - 49 就等于 0 .
ASCII对应关系, ,第48~57号为0~9十个阿拉伯数字.

那么把字符转化为数字的方法就是,
'1'- '0 ' = 1 .
实际上参与运算的是, 对应的ASCII码, 49 -48 =1;

http://hi.baidu.com/kevert/blog/item/f67990514c007a18367abe19.html