为什么要让指针减去整数48

img


将数字字符串转换为整数,为什么在程序的第27行需要让指针减去48?

在 C 语言中,将字符转换为对应的数字可以使用字符型变量减去字符 '0' 的 ASCII 码。因为在 ASCII 码中,'0' 的码值为 48,而数字字符 '1'~'9' 的码值依次为49~57,所以可以使用如下方式将字符转换为对应的数字:

char ch = '5';
int num = ch - '0';

这样num就等于5。

注意,这种方法只能用于处理'0'~'9'的字符,对于其他字符可能会产生错误的结果。