模拟实现atoi,仅考虑了部分转换规则

int my_atoi(const char*p)
{
	int flag = 1;
	long long n = 0;
	//空指针
	if (p == NULL)
		return 0x000000;
	//空字符
	if (*p == '\0')
		return 0x000000;
	//跳过字串前空字符
	while (!(*p=='+'||*p=='-'||(*p>='0'&&*p<='9')))
	{
		p++;
	}
	//正负
	if (*p++ == '-')
		flag = -1;
	//开始转换
	while (('\0' !=*p)&& (*p >= '0' && *p <= '9'))
	{
		n = 10 * n + flag*(*p - '0');
		if (n > INT_MAX)
			return 0x000000;
		p++;
	}
	return n;
}
int main()
{
	const char *arr = "-122";
	int ret = my_atoi(arr);
	printf("%d\n", ret);
	return 0;
}
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6