string中存放的数字是按照ASCII码表进行存储的“字符数字”,也就是说它是一个字符而非数字,如何转成int类型的数字呢?我们首先看一下ASICC码表:

字符1的ASICC码值是49,十进制数1对应的ASICC值是1,所以对字符数字减去48就可以得到其十进制表达。
atoi函数的实参类型是const char * ,所以使用时不能将单个字符传入。
也要注意A的ASICC码值是65,a的ASICC值是97。ASICC码表
原文:https://blog.51cto.com/14239789/2448205