系列文章目录
一、atoi函数的声明
int atoi(cont char*str)
将字符串转换为整型
二、atoi函数的演示`
#include<stdio.h>
#include<assert.h>
#include<ctype.h>
#include<limits.h>
int my_atoi(const char* pc)
{
assert(pc != NULL);
int m = 1;
long long n = 0;
while (!isdigit(*pc)) {//isdigit()检测0~9的阿拉伯数字
if (*pc == ' ') {
pc++;
}
if (isspace(*pc)) {//检查所传的字符是否是空白字符
pc++;
}
if (*pc == '-') {//当出现‘-’时,最终转换的int类型的数字为负数
m = -1;
pc++;
}
if (*pc == '+') {//当出现'+'时,最终转换的int类型的数字为正数
pc++;
}
}
while (isdigit(*pc)) {
n = n * 10 + *pc - '0';
if (n > INT_MAX || n <INT_MIN) //不能超过int类型的范围-2147483648~2147483647
{
return 0;
}
pc++;
}
return m * n;
}
int main()
{
const char* p = " 1234444444";
long long ret = my_atoi(p);
printf("%lld\n", ret);
return 0;
}