两个字符串,相加,封装一个方法
时间: 2023-04-05 10:02:41 浏览: 74
可以使用以下的 C 语言代码实现两个字符串相加的方法:
```c
#include <stdio.h>
#include <string.h>
char* addStrings(char* num1, char* num2) {
int len1 = strlen(num1);
int len2 = strlen(num2);
int len = len1 > len2 ? len1 : len2;
char* result = (char*)malloc((len + 2) * sizeof(char));
result[len + 1] = '\0';
int carry = 0;
for (int i = 0; i < len; i++) {
int n1 = i < len1 ? num1[len1 - 1 - i] - '0' : 0;
int n2 = i < len2 ? num2[len2 - 1 - i] - '0' : 0;
int sum = n1 + n2 + carry;
result[len - i] = sum % 10 + '0';
carry = sum / 10;
}
if (carry == 1) {
result[0] = '1';
} else {
result++;
}
return result;
}
```
这个方法接受两个字符串作为参数,返回它们的和。它首先计算两个字符串的长度,然后根据较长的字符串的长度创建一个新的字符串来存储结果。接下来,它从两个字符串的末尾开始,逐位相加,并将结果存储在新的字符串中。最后,如果有进位,它会在新字符串的开头添加一个 '1'。