用C语言实现字符串转数字函数:int atoi(const char *str)
时间: 2024-04-08 20:33:06 浏览: 50
C语言实现将字符串转换为数字的方法
以下是使用C语言实现的atoi函数:
```c
#include <stdio.h>
int atoi(const char *str) {
int result = 0;
int sign = 1;
int i = 0;
// 处理空格
while (str[i] == ' ') {
i++;
}
// 处理符号
if (str[i] == '-' || str[i] == '+') {
sign = (str[i++] == '-') ? -1 : 1;
}
// 转换数字
while (str[i] >= '0' && str[i] <= '9') {
result = result * 10 + (str[i++] - '0');
}
return sign * result;
}
int main() {
const char *str = "12345";
int num = atoi(str);
printf("转换后的数字为: %d\n", num);
return 0;
}
```
在上述代码中,我们使用了循环来遍历字符串中的字符,并根据ASCII码进行相应的转换操作。处理空格、符号和数字的逻辑都有相应的处理方式,最后返回转换后的整数值。
阅读全文