写一个两参数是字符串的C++数字相加的函数
时间: 2024-03-29 12:40:13 浏览: 58
C++实现的字符串加一操作
5星 · 资源好评率100%
好的,以下是一个简单的两个字符串数字相加的函数示例:
```c++
#include <string>
using namespace std;
string addStrings(string num1, string num2) {
int carry = 0;
string result = "";
int i = num1.size() - 1, j = num2.size() - 1;
while (i >= 0 || j >= 0 || carry > 0) {
int sum = carry;
if (i >= 0) {
sum += num1[i] - '0';
i--;
}
if (j >= 0) {
sum += num2[j] - '0';
j--;
}
carry = sum / 10;
sum %= 10;
result = to_string(sum) + result;
}
return result;
}
```
这个函数接收两个字符串参数 `num1` 和 `num2`,并返回它们的和。在函数中,我们使用一个 `carry` 变量来记录进位,用 `i` 和 `j` 两个指针分别遍历两个字符串,将对应位上的数字相加,再加上 `carry`,并将和对 10 取模得到本位的数字,将和除 10 得到的进位记录到 `carry` 中,最后将本位数字转为字符串,插入到结果字符串的开头。最后返回结果字符串即可。
需要注意的是,这个函数只适用于非负整数的加法,如果需要处理负数或浮点数的加法,需要做相应的修改。
阅读全文