模拟实现atoi

简易版atio函数

代码如下:

复制代码
#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<assert.h>

int my_atoi(const char* arr)
{
	int n = 1;
	long num = 0;
	assert(arr);
	if (*arr == '\n')
	{
		return 0;
	}
	while (*arr == ' ')
	{
		arr++;
	}
	if (*arr == '-')
	{
		n = -1;
		arr++;
	}
	while (*arr != '\0')
	{
		if (*arr >= 48 && *arr <= 57)
		{
			num=num*10+(*arr - '0');
		}
		else
		{
			break;
		}
		arr++;
	}
	num = num * n;
	return num;

}

int main()
{
	char arr[] = { "     -124584s457" };
	printf("原本的数组为%s\n", arr);
	printf("实现atoi函数后为%d\n", my_atoi(arr));

	return 0;
}

运行结果:

相关推荐
dapeng28702 小时前
分布式系统容错设计
开发语言·c++·算法
qq_417695052 小时前
代码热修复技术
开发语言·c++·算法
C++ 老炮儿的技术栈8 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
Liu628888 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星9 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
条tiao条10 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名10 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
zzh9407710 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法
2301_8073671910 小时前
C++中的解释器模式变体
开发语言·c++·算法
愣头不青10 小时前
617.合并二叉树
java·算法