C语言——模拟实现库函数atoi

1. atoi

atoi:将字符串转换为整数。

1. 头文件 <string.h>

2. 声明:

1. 如果字符串开始有空格,直接跳过。

2. +  -   会影响打印的数字的正负(只能有一个,否则返回0)

3. 只打印数字字符,遇到非数字字符就停止。

4. 如果没有读取到数字,返回0。

5. 如果转换之后的数字大于 INT_MAX ,就输出 INT_MAX 

   如果转换之后的数字小于 INT_MIN ,就输出 INT_MIN

2. isspace

检查字符是否为空格。

1. 头文件 <ctype.h>

2. 声明:

 int c :将需要检查的字符 强制转换成  int  类型或  EOF

如果 c 确实是空格字符,则返回不同于零的值( true),否则返回0(false)。

3. isdigit

检查字符是否为十进制数字字符。

1. 头文件 <ctype.h>

2. 声明:

 int c :将需要检查的字符 强制转换成  int  类型或  EOF

 如果 c 确实是十进制数字字符,则返回不同于零的值( true),否则返回0(false)。

4.  预定义的宏 INT_MAX  和  INT_MIN

  INT_MAX 和  INT_MIN 是 C语言 的两个预定义宏,代表了整型变量能够存储的最大正整数21474836472^31 − 1 )和最小负整数 -2147483648 -2^31 )。这个值是相对于二进制补码表示的,也就是说,负数的范围比正数大 1,这两个宏在头文件 <limits.h> 中定义。

溢出问题

  在整型变量中,所有超过INT_MAX和INT_MIN数,都会出现溢出,出现 warning,但是并不会出现error。如果想表示的整数超过了该限值,可以使用长整型 long long 占8字节64位。

· 最轻微的上溢是 INT_MAX + 1,结果是 INT_MIN。
· 最严重的上溢是 INT_MAX + INT_MAX,结果是 -2。
· 最轻微的下溢是 INT_MIN - 1,结果是是 INT_MAX。
· 最严重的下溢是 INT_MIN + INT_MIN,结果是 0。

5. 模拟实现atoi

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值