一句话理解
数字字符和整数之间用减去或加上 ‘0’ 转换。
为什么要学
逐位读数字、高精度入门都会用。
讲解
字符 ‘7’ 变成整数 7:c - ‘0’。
整数 7 变成字符 ‘7’:7 + ‘0’。
多位数不能只转一个字符,要按位累加:x = x * 10 + (c - ‘0’)。
例子
char c = '7';
int x = c - '0';
cout << x + 1;
输出:
8
字符 7 变成整数 7,再加 1 得 8。这里先转成 int 更清晰。
常见错误
- 把整个 “123” 一次性减 0。那是字符串,要逐字符。
- 不减 ‘0’ 就把 char 当 0-9 用。