【C语言】atoi和atof函数的使用

【C语言】atoi和atof函数的使用这期给大家带来两个函数 分别是 atoi atof 虽然我们不常用 但大家还是需要掌握 毕竟艺高人胆大 atof

大家好,欢迎来到IT知识分享网。

人生应该树立目标,否则你的精力会白白浪费。💓💓💓

目录

 •🌙知识回顾

 🍋知识点一:atoi函数的使用和实现

  • 🌰1.函数介绍

  • 🌰2.代码演示

  • 🌰3.atoi函数的实现

  • 🌰3.扩展

 🍋知识点二:atof函数的使用

  • 🌰1.函数介绍

   • 🌰2.代码演示

  •🌙Conclude结尾


 •🌙知识回顾

亲爱的读者们大家好!💖💖💖,我们今天介绍两个比较简单的函数,也算是对前面几期较难内容的放松,上一篇文章我们详细解析了C语言中动态内存管理的相关知识,包括malloc,calloc,realloc等,希望大家能够掌握并应用~

    

今天这篇文章给大家带来的是C语言中的两个函数,atoi和atof这是两个函数还是会见到的,虽然不是我们很经常使用的函数,但我们也不能放任不管,掉以轻心,也许什么时候就用到了,希望大家好好学习,也希望可以给大家带来帮助。

  

  🎉🎉🎉复习回顾🎉🎉🎉

        C语言-动态内存分配

博主主页传送门:愿天垂怜的博客

【C语言】atoi和atof函数的使用

【C语言】atoi和atof函数的使用

 🍋知识点一:atoi函数的使用和实现

  • 🌰1.函数介绍

int atoi (const char * str);

🔥功能:

1.解析字符串的内容,将字符串转化成整数

2.atoi的使用需要包含头文件 <stdlib.h>

🔥参数:

str:指针,指向了待转化的字符串

🔥返回值:

转化成功的话,返回转化得到的整数,如果是空字符串或者是跳过空白字符后第一个不是数字字符将返回0,如果转化得到数字超出int的取值范围,则是未定义的行为。【C语言】atoi和atof函数的使用

  • 🌰2.代码演示

#include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", atoi(" ")); printf("%d\n", atoi(" abc")); printf("%d\n", atoi("123")); printf("%d\n", atoi(" 123")); printf("%d\n", atoi(" +123")); printf("%d\n", atoi(" -123")); printf("%d\n", atoi(" -123abc")); printf("%d\n", atoi("11111"));//行为未定义 return 0; }

输出结果:

0 0 123 123 123 -123 -123 

【C语言】atoi和atof函数的使用

  • 🌰3.atoi函数的实现

atoi函数的模拟实现可能有些复杂,但一定要理清思路:要先跳过空白字符,再看有无+-,如果有还需考虑最后的符号,用flag记录;同时ret值不能大于最大,也不能小于最小。

int my_atoi(const char* str) { //跳过空白字符 while (isspace(*str)) str++; //判断正负符号 int flag = 1; if (*str == '+') { str++; } else if (*str == '-') { flag = -1; str++; } //用ret记录值 long ret = 0; while (*str != '\0') { //判断是否是数字字符 if (isdigit(*str)) { //转化为整型,如'1'-'0'=1 ret = ret * 10 + (*str - '0') * flag; //最大只能INT_MAX,最小只能INT_MIN if (ret > INT_MAX) { ret = INT_MAX; } else if (ret < INT_MIN) { ret = INT_MIN; } } else return (int)ret; str++; } return (int)ret; }

【C语言】atoi和atof函数的使用

  • 🌰3.扩展

其实还有两个函数可以了解一下:

🔥atol:将字符串转换成long类型,转换的范围是比atoi要更大一些。

🔥strtol:将字符串转换成long类型,这个函数更加复杂,可以按照各种进制转换。

可以扩展学习一下。

【C语言】atoi和atof函数的使用

 🍋知识点二:atof函数的使用

  • 🌰1.函数介绍

double atof(const char* str);

🔥功能:

1.atof函数用于将字符串转换为浮点数(double类型)。

2.它解析字符中的数字部分,并将其转换相应的浮点数表示。

3.该函数在<stdlib.h>头文件中声明。

🔥参数:

str:指针,指向待转换的字符串,它可以包含可选的正负号、整数部分、小数部分和指数部分。

🔥返回值:
atof:函数的返回值类型是double,表示成功转换的浮点数。

   • 🌰2.代码演示

#include <stdio.h> #include <stdlib.h> int main() { printf("%lf\n", atof("123.45")); printf("%lf\n", atof("+123.45")); printf("%lf\n", atof("-123.45")); printf("%lf\n", atof(" -123.45")); printf("%lf\n", atof("3.14E-2"));//3.14*10^-2 = 0.0314 printf("%lf\n", atof("hehe")); return 0; }

输出结果:

123. 123. -123. -123. 0.031400 0.000000

  •🌙Conclude结尾

这篇内容相对简单,但还是希望大家能够熟练应用并掌握它们的基本用法,其中atof的模拟实现较为复杂,因为要考虑科学计数法的情况,大家有兴趣可以自行探讨~

【C语言】atoi和atof函数的使用

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/110685.html

(0)
上一篇 2026-01-29 21:26
下一篇 2026-01-29 21:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信