首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

字符串中取数有关问题

2012-07-28 
字符串中取数问题 求助是这样的 从控制台输入一串纯数字保存在string a里,当我用a[0]取出相应位置的数值时

字符串中取数问题 求助
是这样的 从控制台输入一串纯数字保存在string a里,当我用a[0]取出相应位置的数值时,返回的结果也是正确的,但是将他们进行+运算,结果就不对了。是不是我用string头文件的事? +被重载了?

比如我输入:356294
输出:a[0]=3 a[2]=6
但是a[0]+a[2]=105  
这是怎么回事啊?
求解答 谢谢

[解决办法]
楼主不能将人的认知跟计算机混淆啊。

人的认知:a[0]= '3' a[2]= '6' a[0]+a[2] = ‘9’

计算机中内存地址中存储的二进制:a[0]= '3'= 51 a[2]= '6' = 54 a[0]+a[2] = 105


[解决办法]
你需要将字符转换成数字。比如a[0]='3',那么你想得到数值3的话,可以使用int i=a[0]-'0';那么i的值就是3了。如果你想把结果保存为字母的话,比如:3+4=7,i=7.那么你可以a[0]=7+'0';这时候a[0]=='7'。但是如果你的结果为多位数的话就要多个char来保存了

热点排行