【C语法学习】27 - 字符串转换为数字

文章目录

  • 1 atoi()函数
    • 1.1 函数原型
    • 1.2 参数
    • 1.3 返回值
    • 1.4 转换机制
    • 1.5 示例
      • 1.5.1 示例1

1 atoi()函数

1.1 函数原型

atoi():将str指向的字符串转换为整数,函数原型如下:

int atoi(const char *str);

1.2 参数

atoi()函数只有一个参数str:

  1. 参数str是指向要转换为整数的字符串的指针,类型为char*型。

1.3 返回值

atoi()函数的返回值类型为int型。

  1. 转换成功,返回转换后的int型整数;
  2. 转换失败,返回0值。

1.4 转换机制

  1. atoi()函数将str指向的字符串转换为int型整数;
  2. atoi()函数将字符串转换为整数的过程类似于scanf()函数从stdin中读取字符赋值给变量的过程:
    (1)有效字符为±符号和数字字符1-9;
    (2)跳过所有空字符;
    (3)如果第一非空字符是无效字符,则转换失败,返回0值;
    (4)如果第一非空字符是有效字符,则转换继续,直至遇到第一个无效字符为止(无效字符包括字母、标点符号和空字符等)。

C语言标准描述如下:

1. Interprets an integer value in a byte string pointed to by str. 
2. The implied radix is always 10.
3. Discards any whitespace characters until the first non-whitespace character is found, then takes as many characters as possible to form a valid integer number representation and converts them to an integer value. 
4. The valid integer value consists of the following parts:--- (optional) plus or minus sign--- numeric digits
5. If the value of the result cannot be represented, i.e. the converted value falls out of range of the corresponding return type, the behavior is undefined.

1.5 示例

1.5.1 示例1

代码如下在这里插入代码片所示:

int main()
{printf("%d\n", atoi("123"));printf("%d\n", atoi("123a"));printf("%d\n", atoi("a123"));printf("%d\n", atoi(" 123"));printf("%d\n", atoi("1 23"));printf("%d\n", atoi("+123"));printf("%d\n", atoi("-123"));printf("%d\n", atoi("1.23"));printf("%d\n", atoi("2147483648"));return 0;
}

代码运行结果如下图所示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker部署paddleocr

内容仅供参考学习 欢迎朋友们V一起交流: zcxl7_7 环境 1. CentOS7  2. docker  3. PaddleOCR2.5.2 1.准备 1. 首先准备好需要打包的项目 2. 在该项目中创建Dockerfile文件 touch Dockerfile2. 编写Dockerfile # 从Python 3.8的官方镜像中创建(pyt…

matlab使用scatter函数画图时报错“数组索引必须为正整数或逻辑值”解决办法

一、背景 在使用matlab的scatter函数画图时报错“数组索引必须为正整数或逻辑值”。 scatter函数说明:scatter(x,y) 在向量 x 和 y 指定的位置创建一个包含圆形标记的散点图。 二、解决办法 如果使用scatter函数时报上述错误,尝试将连续函数先转换为函…

ubuntu编译sqlite3并使用

SQLite3是一种轻量级的关系型数据库管理系统,它是在C语言基础上实现的。SQLite3具有许多优点,例如: 1.灵活:它可以在多种操作系统上运行,并且可以将多个数据库文件合并成一个文件。 2.易于使用:SQLite3使用…

基于爬行动物算法优化概率神经网络PNN的分类预测 - 附代码

基于爬行动物算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于爬行动物算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于爬行动物优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

八股文面试day6

什么是代理?为什么要用动态代理? 代理模式大概意思是:为其他对象提供一个代理项或者是占位符,以控制对这个对象的访问 代理模式核心思想:创建一个代理对象,在客户端和目标对象之间的一个中介,…

35的程序员被辞了可以自己接外包啊?为什么都那么悲观呢?

35的年纪,上有老下有小,即将步入中年危机,在这个节骨眼上被辞,能不悲观吗? 在这个年纪人们往往追求的是稳定的工作和生活,而进入一个自己不熟悉的行业并不是一个好的选择。 况且,你认为的外包…

诊断0x27服务解密文件DLL制作与使用

DLL文件在CANoe的使用方法 DLL文件在诊断里面可以用在0x27秘钥服务里面,对解密有帮助,在下图位置加载。 DLL文件制作 vector公司本来就给了我们一个demo,先拷贝一份下来,别把原来的文件给改坏了。我这个是CANoe12,de…

Visio给立方体的每条边填充不同的颜色,超好用的visio小技巧~

Visio给立方体的每条边填充不同的颜色,超好用的visio小技巧~ 如何实现立方体的填充颜色从左边的纯色到右边的多色呢?一起学起来吧~ 在visio中绘制一个普通的立方体; 用一个大的矩形盖住刚才绘制的立方体; 全选之后找到 开发工具-&…

matplotlib

设置中文字体,图片大小,分辨率,中文负号 符号 x轴和y轴 设置x轴和y轴的刻度 字体大小 线条样式 绘制多个线条 图例 显示每个坐标值 gca 分辨率 画布尺寸 创建图形对象 不能直接使用区域对象作画 绘制多子图 均等的划分画布 柱状图 同一位置多…

类加载过程

Java类加载过程包括加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)五个阶段。这些阶段是按照顺序逐步执…

Javascript中的宏任务与微任务

事件循环 JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。为了协调事件、用户交互、脚本、UI 渲染和网络处理等行为,防止主线程的不阻塞,Event Loop 的方案应用而生。Event Loop 包含两类:一…

购买Zoho CRM系统要花多少钱?

相信对CRM系统有过了解的人都知道,CRM系统的价格取决于功能需求,用户数量,部署方式,定制开发等因素。Zoho CRM是全球领先的云CRM系统,自2005年推出以来,累计服务25万企业,那么Zoho CRM系统的价格…

python批量修改文件夹下的后缀名

python批量修改文件夹下的后缀名 (所有的.txt结尾的文件,替换成.py结尾) 1、需要将某个文件夹下所有的.txt结尾的文件,替换成.py结尾 2、Python代码: import os# 指定需要更改文件的目录 dir_path D:/study/py/4#…

Vatee万腾数字引领未来:vatee科技力量的独特路径

在当今数字化浪潮的推动下,Vatee万腾以其卓越的科技力量,正引领着未来的数字化时代,描绘着一条独特的发展路径。通过持续创新、前瞻思维和对技术的深度理解,Vatee万腾正在为未来的科技发展创造新的可能性,塑造着数字引…

微信开放平台Android平台应用签名怎么填写

winR 输入cmd 进到本地签名文件的目录下 输入 keytool -list -v -keystore <keystore文件路径> -alias <别名>请将 <keystore文件路径> 替换为您的密钥库文件&#xff08;通常是 .jks 或 .keystore 文件&#xff09;的路径&#xff0c;而 <别名> 则是…

Speaker Verification,声纹验证详解——语音信号处理学习(九)

参考文献&#xff1a; Speaker Verification哔哩哔哩bilibili 2020 年 3月 新番 李宏毅 人类语言处理 独家笔记 声纹识别 - 16 - 知乎 (zhihu.com) (2) Meta Learning – Metric-based (1/3) - YouTube 如何理解等错误率(EER, Equal Error Rate)&#xff1f;请不要只给定义 - 知…

oracle数据库巡检常见脚本-系列二

简介 作为数据库管理员&#xff08;DBA&#xff09;&#xff0c;定期进行数据库的日常巡检是非常重要的。以下是一些原因&#xff1a; 保证系统的稳定性&#xff1a;通过定期巡检&#xff0c;DBA可以发现并及时解决可能导致系统不稳定的问题&#xff0c;如性能瓶颈、资源利用率…

人工智能:让生活更便捷、更智能——探讨人工智能在生活中的作用与挑战

文章目录 前言人工智能的定义与分类人工智能的领域一、智能语音助手改变日常生活二、智能驾驶带来出行革命三、人工智能在医疗健康领域的应用四、教育领域的人工智能创新 人工智能的应用生活方面的影响工作方面的影响 应对AI带来的挑战后记 前言 人工智能相关的领域&#xff0…

Python基于机器学习模型LightGBM进行水电站流量入库预测项目源码+数据集+模型,含项目报告

1.前言 该文档主要是介绍通过机器学习模型LightGBM进行水电站流量入库预测。 对于水电站来说&#xff0c;发电是主要经济效益来源&#xff0c;而水就是生产的原料。对进入水电站水库的入库流量进行精准预测&#xff0c;能够帮助水电站对防洪、发电计划调度工作进行合理安排&…

女娃娃就要打扮,就要时刻保持美丽

超足充绒量&#xff0c;细腻柔软 上身效果很棒保暖性也很强 无论是日常出行还是户外活动 穿这件羽绒服都妥妥的 简约时尚的色彩搭配 使它在寒冷的冬季 既能保暖又能展现个人品味哦&#xff01;