atoi函数

介绍:

atoi函数_第1张图片

头文件:  

此函数的功能是将数字字符的字符串转化为字面上的整型返回。

例如:

char arr1[] = "-12";
char arr2[] = "12";
char arr3[] = "     -12";
char arr4[] = "-12a";

使用atoi 我们得到的结果是 -12、12、-12、-12

通过结果我们可以得知以下注意点:

  •  如果字符串从开头就有连续的空格字符,则跳过这些连续的空格字符,找到不是空格的字符。
  • 如果跳过这些空格字符后的第一个字符是数字字符,则从这个数字字符开始转换,并向后找连续的数字字符转换 ,如果连续中断,找到不是数字字符的字符,则在此截断寻找,返回前面已经转换好的连续的数字字符字面整型值。(这里截断向后寻找后,不管后面有没有数字字符函数都不管)
  • 会读取正负符号并且会输出正负符号。
  • 若除去正负号和空格,一开始的字符是非数字字符,则立刻返回,并且返回的结果为0
     

 模拟实现:

1、判断是否是空格

atoi函数_第2张图片

2、判断正负号

atoi函数_第3张图片

3、 判断是否是数字字符

atoi函数_第4张图片

  •  其中isdigit是用来判断是否是数字
  • 将字符数字变成整型数字,就是字符数字 - ‘0’即可
  • ret*10是为了个位十位这种位数

atoi函数_第5张图片 ret*flag是为了最后求出的数的正负有关。

你可能感兴趣的:(C语言,c语言)