C语言库函数atoi()的分析

    技术2022-05-20  31

      C语言库函数名: atoi

      功 能: 把字符串转换成整型数.

      名字来源:array to integer 的缩写.

      原型: int atoi(const char *nptr);

      函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字或结束符 /0 时停止转换,返回整型数。

      头文件: #include <stdlib.h>

      程序例:

      1)

      #include <stdlib.h>

      #include <stdio.h>

      int main(void)

      {

      int n;

      char *str = "12345.67";

      n = atoi(str);

      printf("string = %s integer = %d/n", str, n);

      return 0;

      }

      执行结果

      string = 12345.67 integer = 12345

      2)

      #include <stdlib.h>

      #include <stdio.h>

      int main()

      {

      char a[] = "-100" ;

      char b[] = "123" ;

      int c ;

      c = atoi( a ) + atoi( b ) ;

      printf("c = %d/n", c) ;

      return 0;

      }

      执行结果

      c = 23

      简单的实现atoi函数源代码:

      int my_atoi(const char *str){

      int result = 0;

      int signal = 1; /* 默认为正数 */

      if((*str>='0'&&*str<='9')||*str=='-'||*str=='+'){

      if(*str=='-'||*str=='+'){

      if(*str=='-')

      signal = -1; /* 输入负数 */

      str++;

      }

      }

      else return 0;

      /* 开始转换 */

      while(*str>='0'&&*str<='9')

      result = result*10+(*str++ -'0');

      return signal*result;

      }

    注:摘自百度百科。


    最新回复(0)