sum = sum * 10 + s[i] - '0';
时间: 2024-05-04 10:17:17 浏览: 106
两个十以内的整数相加
这段代码的作用是将字符串 s 中第 i 个字符转换为数字,并且将其加到 sum 的末尾。
具体解释如下:
- s[i] 表示字符串 s 中的第 i 个字符。
- '0' 是字符常量,它的 ASCII 码值为 48,表示数字 0。
- s[i] - '0' 将字符转换为数字,例如字符 '5' 转换为数字 5。
- sum * 10 将 sum 的值乘以 10,相当于将 sum 左移一位。
- sum * 10 + s[i] - '0' 将新的数字加到 sum 的末尾。例如,如果 sum 的值为 123,s[i] 的值为 5,则执行后 sum 的值为 1235。
因此,这段代码的作用是将一个字符串转换为数字,具体实现可见下面的示例代码:
```c++
int strToInt(string s) {
int sum = 0;
for (int i = 0; i < s.size(); i++) {
sum = sum * 10 + s[i] - '0';
}
return sum;
}
```
阅读全文