atoi -- 将字符串类型转换为整型
atoi 函数文档函数概要:
atoi 函数将字符串中的表示数值的字符解析为对应的整型数值。
解析从第一个非空白字符开始,起始位置可以是一个可选的字符,用于表示正号('+')或负号('-')。后边跟随若干表示十进制数字的字符,如果检测到表示非数字的字符,那么结束解析。最后返回已经成功解析的数字(整型)。
如果字符串的第一个非空白字符表示的不是一个有效的数字,或者字符串中根本就不包含表示数字的字符,甚至只是一个空字符串……这样的话,返回值就只能是 0。
函数原型:
#include <stdlib.h>
...
int atoi(const char *str);
参数解析:
参数含义
strC 语言标准字符串
返回值:
如果函数调用成功,返回值是字符串转换后对应的整型数值;
如果转换的结果超出一个整型的存放范围,那么会导致一个未定义的行为(当你的程序可能存在这种风险的时候,请使用 strtol 函数代替)。
演示:
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("%d\n", atoi("FishC123"));
printf("%d\n", atoi("123FishC"));
printf("%d\n", atoi(" 123"));
printf("%d\n", atoi("-123.45 "));
printf("%d\n", atoi("123456789999999999"));
return 0;
}
版权归鱼C工作室(www.fishc.com)所有,转载请注明来源!
小甲鱼,我给你的留言有看到吗 get it 就是把字符串中的非数字部分丢掉是吗{:10_257:} 第五个输出有点晕啊。。 难道第五个返回的是 该数据类型的最大值。。 使用要求好多。。。 get it 1 哈 1 谢谢分享啊 没看懂呢,参数类型是字符串?getchar()的结果可以作为输入吗
风过无痕丶 发表于 2017-11-22 16:52
第五个输出有点晕啊。。 难道第五个返回的是 该数据类型的最大值。。
是
2^31-1(int 占用4字节,32比特位) 一切皆为虚幻 发表于 2016-6-25 08:54
小甲鱼,我给你的留言有看到吗
卢本伟 小甲鱼好棒的 {:10_291:} 非空白字符的定义是什么求解 程序猿的爱情 发表于 2020-2-18 21:02
非空白字符的定义是什么求解
例如英文字母 {:10_265:}{:10_245:}{:10_284:}{:10_299:} 看不懂啊