html5移动端手机网站开发流程图,上海外贸公司注册流程及条件,乐陵310seo,萍缘网站建设工作✅博客主页:爆打维c-CSDN博客 #x1f43e; #x1f539;分享c语言知识及代码 文章目录
一、atoi函数的简要介绍
1.函数原型
二、atoi函数的使用示例
#x1f4a0;正数示例#xff1a;
#x1f4a0;负数示例#xff1a;
#x1f4a0;带有符号示例 分享c语言知识及代码 文章目录
一、atoi函数的简要介绍
1.函数原型
二、atoi函数的使用示例
正数示例
负数示例
带有符号示例
无效输入示例
三、模拟实现atoi
1.思路
2.实现代码
总结: 一、atoi函数的简要介绍
1.函数原型
▪️ atoi(ascii to integer)是C语言中的一个库函数用于将字符串转换为对应的整数。
▪️ 规则是跳过不可见字符碰到负号或者数字开始转换转换到非数字字符为止。 头文件stdlib.h int atoi (const char * str); 原文 译文 二、atoi函数的使用示例 当使用atoi函数将字符串转换为整数时不同情况会导致不同的结果。以下是一些示例和解释
正数示例 const char *str1 12345; int num1 atoi(str1); // 输出: num1 12345 在这个示例中输入的字符串是一个正数atoi函数将其转换为对应的整数。
负数示例 const char *str2 -9876; int num2 atoi(str2); // 输出: num2 -9876 在这个示例中输入的字符串是一个负数atoi函数将其转换为对应的负整数。
带有符号示例 const char *str3 42; int num3 atoi(str3); // 输出: num3 42 在这个示例中输入的字符串带有正号atoi函数会忽略正号并将其转换为对应的整数。
无效输入示例 const char *str4 12abc; int num4 atoi(str4); // 输出: num4 12 在这个示例中输入的字符串以有效的数字开头但后面包含了非数字字符。atoi函数会在遇到非数字字符时停止转换返回之前已转换的数字部分。
大家也可以自己敲代码试验atoi函数的使用 三、模拟实现atoi
1.思路 有了上述对atoi函数比较清晰的了解再进行模拟实现就不难了思路如下 首先判断 字符串是否为空或者空指针若是则返回0。 跳过空格位 判断字符串的字符是否为正号或负号若是则记录下符号并将指针后移一位。 遍历字符串的每个字符若字符为数字则将其转换为对应的整数并累加到结果中。若遇到非数字字符停止遍历。 根据之前记录的符号若为负号则将结果取反。 2.实现代码
int My_atoi(const char*s){int sign 1; //为空或空指针返回 0if (s NULL || *s \0) {return 0;}//跳过空格while(*s ) {s;}//判断符号位if (*s -||*s) {if (*s -) {sign -1;}s;}int result 0; //计算结果while (*s) {if (*s 9 || *s 0) {break;}else {//*s *s - 0;result result * 10 ( *s-0); //转换为对应的整数并累加s; }}return result*sign;
}
总结:
需要注意的是atoi函数的返回值为int类型。当遇到无效输入或非数字字符时atoi函数会返回0。这意味着在处理可能包含无效输入的字符串时应该注意检查返回值来判断转换是否成功。
另外需要注意atoi函数没有处理整数溢出的能力。如果转换的结果超出了int类型的范围将导致结果不准确。为了处理溢出情况可以考虑使用更强大的函数如strtol函数它提供了更多的错误处理和转换控制选项。