★第六十一题→输入一个数字字符串转换为一个整数值(atoi()实现)★

63 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,点击查看活动详情

🚩write in front🚩   

🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 阿里云星级博主~掘金⇿InfoQ~51CTOP创作者~周榜91﹣总榜823⇿全网访问量35w+🏅
🆔本文由 謓泽 发布到掘金(JueJin) 如需转载还请通知⚠
📝个人主页-謓泽 的个人主页 - 文章 - 掘金 (juejin.cn)📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏-【C语言】Topic - 謓泽的专栏 - 掘金 (juejin.cn)🎓
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩\

题解详情如下所示👇
每日名言:盛年不重来,一日难再晨,及时宜自勉,岁月不待人 ⒈首先让我们来理解题目上最本质的意思。

说明⇢本质上就是输入数字 的字符串转换为一个用printf()打印输出的整数值。

⒉这道题目非常的容易,因为我们题目要求是使用atoi()的字符串去实现的。这样我们就可以直接使用库函数去做这道题目。

说明⇢在C语言的atoi()函数声明如下所示✅

int atoi (const char * str);

㈠这个函数的主要作用实际上就是把这个字符串转换为整数。

㈡解析C语言的字符串,将其内容解释为整数,返回为int类型的值。函数首先根据需要丢弃尽可能多的空白字符(如isspace中的),直到找到第一个非空白字符。然后,从这个字符开始,取一个可选的初始加号或减号,后面跟着尽可能多的以10为基数的数字,并将其解释为数值。

㈢该字符串可以在构成整数的字符之后包含额外的字符,这些字符将被忽略,对该函数的行为没有影响。

说明①⇢参数str → 从表示整数开始的C语言的字符串。

说明②⇢返回值会有两种情况。

①如果成功,函数将转换后的整数值返回为整型值。

②如果转换后的值超出了int的可表示值范围,则会导致未定义的行为。

注-在使用atoi()的这个函数我们需要对其进行头文件的使用#include<stdlib.h> 

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
	int i = 0;
	char number[20] = { 0 };
	printf("请输入正整数的字符串->:");
	scanf("%s", &number);

	i = atoi(number);
	printf("转换为整数值->:%d\n", i);
	return 0;
}

运行结果🖊 

请输入正整数的字符串->:123 转换为整数值->:123