欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

atoi() 与 itoa()函数的内部实现

发布时间:2024/7/5 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 atoi() 与 itoa()函数的内部实现 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
       C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子:

       atoi     把字符串转换成整型数
       itoa     把一整数转换为字符串
 

#include "stdio.h" #include "ctype.h" #include "stdlib.h"/* Converts a character string into an int or long 将一个字符串转化为整数 */ int my_atoi(char s[]) {int i,n,sign;for(i=0;isspace(s[i]);i++); //跳过空白sign=(s[i]=='-')?-1:1;if(s[i]=='+'||s[i]==' -') //跳过符号位i++;for(n=0;isdigit(s[i]);i++)n=10*n+(s[i]-'0'); //将数字字符转换成整形数字return sign*n; }/* Converts an int or long into a character string 将一个整数转化为字符串 */ void my_itoa(int n,char s[]) {int i,j,sign;if((sign=n)<0) //记录符号n=-n; //使n成为正数i=0;do{s[i++]=n%10+'0'; //取下一个数字}while((n/=10)>0); //循环相除if(sign<0)s[i++]='-';s[i]='\0';for(j=i-1;j>=0;j--) //生成的数字是逆序的,所以要逆序输出printf("%c",s[j]); }void main() {int n;char str[100];my_itoa(-123,str);printf("\n");printf("%d\n",my_atoi("123"));system("pause"); }


总结

以上是生活随笔为你收集整理的atoi() 与 itoa()函数的内部实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。