在c ++中将数字char转换为int(与char相同)

use*_*968 1 c++

我有一个char数组,所有数组都是数字,但Char类型意味着:

myArray = ['5','6','8','9','10',....]
Run Code Online (Sandbox Code Playgroud)

例如,我想添加其中两个.我必须将它们转换为整数,然后将它们添加到一起,但使用:

(int)myArray[1]+(int)myArray[2]
Run Code Online (Sandbox Code Playgroud)

给出错误的答案.这样做的功能或正确方法是什么?

Sam*_*Sam 5

对于来自- 的ASCII数字字符,可以减去值的值,因为它们的值是连续的:'0''9''0'

char digit = '7' ; //any char, from '0' ... '9'
int value = digit - '0';
Run Code Online (Sandbox Code Playgroud)

更多信息:字符数字['0'..'9']是否需要具有连续的数值?