C语言字符串数字求和,不用库函数,自己写函数
时间: 2024-04-16 16:23:50 浏览: 14
你可以使用指针来遍历字符串,并将数字字符转换为整数进行求和。以下是一个示例的 C 语言代码实现:
```c
#include <stdio.h>
int sumOfNumbers(const char* str) {
int sum = 0;
int num = 0;
int isNegative = 0;
int digitCount = 0;
while (*str) {
if (*str >= '0' && *str <= '9') {
num = num * 10 + (*str - '0');
digitCount++;
}
else if (*str == '-') {
isNegative = 1;
}
else if (digitCount > 0) {
sum += (isNegative ? -num : num);
num = 0;
isNegative = 0;
digitCount = 0;
}
str++;
}
if (digitCount > 0) {
sum += (isNegative ? -num : num);
}
return sum;
}
int main() {
const char* str = "abc123def456ghi789";
int result = sumOfNumbers(str);
printf("Sum of numbers: %d\n", result);
return 0;
}
```
以上代码将给定的字符串中的数字求和,并输出结果。运行程序将输出:Sum of numbers: 1368