Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >位于do-子句中的'0‘到底是如何使用itoa函数的?

位于do-子句中的'0‘到底是如何使用itoa函数的?
EN

Stack Overflow用户
提问于 2019-12-28 05:01:57
回答 3查看 60关注 0票数 2

《C编程语言手册》(K+R)中列出了itoa函数,如下所示:

代码语言:javascript
运行
AI代码解释
复制
void itoa(int n, char s[])
 {
 int i, sign;
 if ((sign = n) < 0) /* record sign */
 n = -n; /* make n positive */
 i = 0;
 do { /* generate digits in reverse order */
 s[i++] = n % 10 + '0'; /* get next digit */          ***THIS IS WHERE THE "+ '0'" OCCURS***
 } while ((n /= 10) > 0); /* delete it */
 if (sign < 0)
 s[i++] = '-';
 s[i] = '\0';
 reverse(s);
 }

当我去掉“+ '0‘”时,我得到了一个“分割错误= 11”的错误,如果我错了,请纠正我,这是在你超出界限时发生的。我在试着更好地理解这里发生了什么。谢谢

EN

回答 3

Stack Overflow用户

发布于 2019-12-28 05:09:52

itoa()将数字转换为字符串,因此每个数字都必须从范围0-9中的值转换为范围’0’-‘9’中的字符。因为字符恰好按顺序出现在ASCII码中,所以可以通过将数字的值与最低字符’0’的值相加来实现这一点。

我不确定分段错误,但如果没有‘+’0,你可能会遇到一个问题,那就是当你转换的数字中出现零的时候,你的字符串将会有一个零字节,这使得字符串看起来比实际的要短。

票数 1
EN

Stack Overflow用户

发布于 2019-12-28 05:12:45

'0'是ASCII表中数字的基值。ASCII字符"0“的十进制值为48。为了计算整数0-9的正确ASCII码字符,您可以添加'0' + n,其中n是十进制值。要查看实际效果,请将代码中的'0'替换为48。得到的字符串将是相同的。

这之所以有效,是因为C中的char数据类型只是一个小整数(单字节),而'0'char值48的语法糖。

票数 0
EN

Stack Overflow用户

发布于 2019-12-28 05:15:09

ascii字符'0'代码是十进制的48。每当n % 10返回0 (对于任何是0的数字都会发生这种情况),那么您实际上是在向s中注入一个空字节。

我的猜测是分段错误实际上发生在reverse(s)的调用中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59508268

复制
相关文章
Python——ZipFile操作压缩文件[通俗易懂]
zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的,
全栈程序员站长
2022/11/04
3.6K0
python3 zipfile模块_Python ZipFile模块详解[通俗易懂]
Python zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息的。
全栈程序员站长
2022/09/29
8220
python中zipfile模块实例化解
文章内容由--“脚本之家“--提供,在此感谢脚本之家的贡献,该网站网址为:https://www.jb51.net/
py3study
2020/01/15
1.8K0
python中zipfile模块实例化解
Python中的zipfile模块使用实例1 压缩文件的基本信息2 解压文件
1 压缩文件的基本信息 导入模块 import zipfile 加载压缩文件,创建ZipFile 对象 class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]]) 1.参数file表示文件的路径或类文件对象(file-like object); 2.参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a',w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到
致Great
2018/06/07
1.3K0
python zipfile模块学习笔记
ZIP文件格式是一种常见的存档和压缩标准,这个zipfile模块提供了工具来创建、读取、写入、附加和列出一个ZIP文件。使用ZIP64扩展(即压缩文件大小超过4G),它能解压加密的ZIP文件,解密过程很慢。
py3study
2020/01/06
1.1K0
python模块--zipfile文件压
zipfile模块是python中一个处理压缩文件的模块,解决了不少我们平常需要处理压缩文件的需求 ,本文主要谈谈zipfile几个常用的用法。
py3study
2020/01/17
1.3K0
Python实现批量压缩文件/文件夹——zipfile
zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的,
Python研究者
2021/08/30
2.4K0
【说站】python zipfile模块的文件操作
2、zipfile.ZipFile()方法中的第二个参数zipfile.ZIP_DEFLATED指定了deflate压缩算法,对各种类型的数据非常有效。
很酷的站长
2022/11/24
4610
【说站】python zipfile模块的文件操作
zipfile压缩文件夹_bad zip file
zipfile 是python的一个内置模块,专门用于压缩文件和解压文件。这里我们仅需要用到模块里面压缩文件的内容。
全栈程序员站长
2022/09/30
1.5K0
Python zipfile_zipfile
ZIP是通用的归档和压缩格式。zipfile模块提供了通用的创建、读取、写入、附加和显示压缩文件的方法,你可以简单地把它理解为Python中的zip解压缩软件。该模块可以解密带有密码的压缩文件,但不提供附加密码的压缩功能。
全栈程序员站长
2022/09/30
7440
python的zipfile.open_python之zipfile[通俗易懂]
zipfile里有2个非常常用的class,分别是Zipfile和ZipInfo,在绝大多数情况下,我们只需要使用这2个class就可以了。
全栈程序员站长
2022/09/30
6720
zipfile模块使用「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
1.1K0
zipfile模块使用「建议收藏」
python中zipfile的使用_python调用winrar解压
f=zipfile.ZipFile(file, mode=”r”, compression=ZIP_STORED, allowZip64=False)
全栈程序员站长
2022/09/30
8240
python zipfile.zipfile_confirm password
最近在写一个Android APP,需下载服务器上的数据。有些PDF如果直接传输的话,将会增加通信的数据量,使下载时间变长。服务器在传输这些数据之前先对其进行压缩,客户端接收到数据之后进行解压,这样可以减小网通传输数据的通信量,缩短下载的时间,从而增加客户体验。用Python做类似的工作,只要使用zipfile模块提供的api就可以轻松的完成。
全栈程序员站长
2022/09/30
9430
解压缩模块 zipfile
参数mode指示打开zip文件的模式,默认值为’r’,表示读已经存在的zip文件,也可以为’w’或’a’,’w’表示新建一个zip文档或覆盖一个已经存在的zip文档,’a’表示将数据附加到一个现存的zip文档中。
全栈程序员站长
2022/09/30
9690
python zipfile_Python 学习入门(16)—— zipfile
zipfile 是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高。
全栈程序员站长
2022/09/30
1.6K0
python zipfile.zipfile_python解析json文件
从简单的角度来看的话,zip格式会是个不错的选择,而且python对zip格式的支持够简单,够好用。
全栈程序员站长
2022/09/30
7160
Python中的random模块用于生成随机数
Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。
学到老
2019/02/14
1.2K0
点击加载更多

相似问题

无效钩子调用- useContext - React

11

如何使可重用的react查询钩子?

18

带有React钩子的useContext

30

如何在React中创建可重用的函数

16

使用useContext导入函数会产生“usecontext钩子未明错误:无效钩子调用”

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档