c语言模拟实现atoi
时间: 2024-12-07 16:03:21 浏览: 19
在C语言中,`atoi()`函数是一个标准库函数,用于将字符串转换为整数。如果你想要手动模拟这个功能,你可以编写一个简单的函数,遍历输入的字符串,并逐字符累加对应的数值,直到遇到非数字字符为止。以下是一个简化的示例:
```c
#include <stdio.h>
#include <ctype.h>
int my_atoi(const char *str) {
int num = 0;
int sign = 1; // 表示正数,初始化为1
while (*str != '\0') { // 遍历字符串,直到遇到结束符
if (isdigit(*str)) { // 如果是数字字符
num = num * 10 + (*str - '0'); // 累加数值
} else if (*str == '-') { // 如果遇到减号,改变符号为负数
sign = -1;
}
str++; // 移动指针到下一个字符
}
return num * sign; // 返回结果,考虑了正负数的情况
}
int main() {
const char *input = "12345";
int converted_num = my_atoi(input);
printf("Converted number: %d\n", converted_num);
return 0;
}
```
在这个示例中,`my_atoi`函数会处理一些基本错误,比如空字符串、前导空格以及包含非数字字符的情况。不过请注意,这只是一个基础的模拟,实际的`atoi()`函数有更复杂的错误处理机制。
阅读全文