C语言字符串转数字递归算法
时间: 2023-09-07 10:17:21 浏览: 222
递归法将整数转换为字符串.zip
5星 · 资源好评率100%
以下是C语言字符串转数字的递归算法:
```c
int strToNum(char *str, int len) {
if (len == 1) {
return str[0] - '0';
} else {
return (10 * strToNum(str, len - 1)) + (str[len - 1] - '0');
}
}
```
这个函数接收两个参数: `str` 是待转换的字符串,`len` 是字符串的长度。该函数递归地将字符串转换为数字,最后返回数字。
当字符串长度为1时,将第一个字符转换成数字并返回。
当字符串长度大于1时,递归调用 `strToNum` 函数来计算字符串的前缀的数字值。然后将该值乘以10,再加上字符串的最后一个字符的数字值,最后返回这个结果。
使用方法:
```c
int main() {
char str[] = "1234";
int len = strlen(str);
int num = strToNum(str, len);
printf("%d\n", num); // 输出 "1234"
return 0;
}
```
阅读全文