博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
atoi()函数的实现
阅读量:6695 次
发布时间:2019-06-25

本文共 1159 字,大约阅读时间需要 3 分钟。

   

    上一篇博客讲的是atoi()函数的功能及举例,如今呢,就自己写写代码(依据atoi()的功能)来表示atoi()函数的实现。我在这里先把atoi()函数的功能贴出来,也好有个參考啊~~~

    atoi()函数的功能:将字符串转换成整型数;atoi()会扫描參数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才開始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数)。

    atoi()函数实现的代码:

/** name:xif* coder:xifan@2010@yahoo.cn* time:08.20.2012* file_name:my_atoi.c* function:int my_atoi(char* pstr)*/int my_atoi(char* pstr){	int Ret_Integer = 0;	int Integer_sign = 1;		/*	* 推断指针是否为空	*/	if(pstr == NULL)	{		printf("Pointer is NULL\n");		return 0;	}		/*	* 跳过前面的空格字符	*/	while(isspace(*pstr) == 0)	{		pstr++;	}		/*	* 推断正负号	* 假设是正号,指针指向下一个字符	* 假设是符号,把符号标记为Integer_sign置-1,然后再把指针指向下一个字符	*/	if(*pstr == '-')	{		Integer_sign = -1;	}	if(*pstr == '-' || *pstr == '+')	{		pstr++;	}		/*	* 把数字字符串逐个转换成整数,并把最后转换好的整数赋给Ret_Integer	*/	while(*pstr >= '0' && *pstr <= '9')	{		Ret_Integer = Ret_Integer * 10 + *pstr - '0';		pstr++;	}	Ret_Integer = Integer_sign * Ret_Integer;		return Ret_Integer;}

    如今贴出执行my_atoi()的结果,定义的主函数为:int  main  ()

int main(){	char a[] = "-100";	char b[] = "456";	int c = 0;		int my_atoi(char*);		c = atoi(a) + atoi(b);		printf("atoi(a)=%d\n",atoi(a));	printf("atoi(b)=%d\n",atoi(b));	printf("c = %d\n",c);	return 0;}
    执行结果:

转载地址:http://gqpoo.baihongyu.com/

你可能感兴趣的文章
好吧,排列组合,
查看>>
Spring MVC Ajax 嵌套表单数据的提交
查看>>
css实现半颗星评分效果
查看>>
nodejs,事件轮询总结
查看>>
调和生活前的问题
查看>>
Sencha-包装-Native APIs(本地API) (官网文档翻译28)
查看>>
asp.net HC框架 前后台交互及Ajax 及前后台分离开发 及 Demo
查看>>
【Latex】如何在Latex中插入伪代码 —— clrscode3e
查看>>
JProgressBar的用法
查看>>
the art of seo(chapter three)
查看>>
GWT 中实现“CSS Sprite”
查看>>
svn检出maven项目的步骤
查看>>
Mysql的使用基础
查看>>
kernel中使用debug file system进行调试
查看>>
4.彻底理解synchronized
查看>>
(0)资料官网【从零开始学Spring Boot】
查看>>
C# 4动态编程新特性与DLR剖析
查看>>
iOS Beta 升级或降级
查看>>
如何给开源的DUILib支持Accessibility
查看>>
在vmware下安装的linux系统上添加eth1
查看>>