zoukankan      html  css  js  c++  java
  • 面试:atoi() 与 itoa()函数的内部实现(转)

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

    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    
    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;
    }
    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]='';
    	for(j=i-1;j>=0;j--) //生成的数字是逆序的,所以要逆序输出
    	printf("%c",s[j]);
    
    }
     int main()
     {
        int n;
        char str[100];
        char s[10];
        printf("Please input a string of number:
    ");
        gets(s);
        printf("%d
    ",my_atoi(s));
        my_itoa(-123,str);
        printf("
    ");
        printf("%d
    ",my_atoi("123"));
        system("pause");
    }
    

     

  • 相关阅读:
    FreeSql 教程引导
    Day3-JS-JavaScript 函数专题
    Day2-JS-JSON
    Day2-JS-let和const
    Day2-JS-this 关键字
    Day2-JS-JavaScript 验证 API
    Day2-JS-表单
    Day2-JS-严格模式
    Day2-JS-JavaScript 错误
    Day2-JS-正则表达式
  • 原文地址:https://www.cnblogs.com/mwl523/p/10730333.html
Copyright © 2011-2022 走看看