一 功能
转换。将字符类型的数字转换成整数类型的数字
二 声明与定义
int atoi (const char * str);
需要传入一个字符类型的指针,会返回int类型的值
三 特别注意的问题
1 如果传入的字符指针是空指针怎么办?-》assert
2 如果传入的字符串是空字符串怎么办?-》返回0
3 如果传入的字符串有空格怎么办?-》isspace判断,空格就跳过
4 如果传入的字符串有其他非数字类型的字符:比如字母怎么办?-》返回0
5 如何处理正负号? -》定义一个flag,根据正负号赋值
四 函数的实现
#define _CRT_SECURE_NO_WARNINGS 1 
#include<stdio.h>
#include<assert.h>
#include<ctype.h>
int my_atoi(const char* str)
{
	assert(str);
	int flag = 1;
	long long n = 0;
	if (*str == '\0')
	{
		return 0;
	}
	while (isspace(*str))
	{
		str++;
	}
	if (*str == '-')
	{
		flag = -1;
		str++;
	}
	while (*str != '\0')
	{
		if (isdigit(*str))
		{
			n = n * 10 + *str - '0';
		}
		else
		{
			n = 0;
			break;
		}
		str++;
	}
	n = flag * n;
	return (int)n;
}
int main()
{
	char arr1[20] = "123456789";
	printf("%d\n", my_atoi(arr1));
	char arr2[20] = "    123456789";
	printf("%d\n", my_atoi(arr2));
	char arr3[20] = "a123456789";
	printf("%d\n", my_atoi(arr3));
	char arr4[20] = "-123456789";
	printf("%d\n", my_atoi(arr4));
}









