首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >%lli和%lld在打印和扫描中的差异?

%lli和%lld在打印和扫描中的差异?
EN

Stack Overflow用户
提问于 2017-08-21 07:06:29
回答 2查看 20.3K关注 0票数 1

我和我的朋友在争论%lli%lld。我通常使用%lli,每次他争论在printfscanf中使用%lld。他声称%lli%lld是不同的。

GNU GCC编译器中的%lli格式说明符和%lld格式说明符之间有什么区别,还是它们是相同的?

EN

回答 2

Stack Overflow用户

发布于 2017-08-21 07:13:17

对于印刷品来说,它们是完全一样的。

http://en.cppreference.com/w/cpp/io/c/fprintf

di将有符号整数转换为十进制表示-dddd。 精度指定要显示的最小数字数。默认精度为1。如果转换值和精度都为​0​,则转换结果不包含字符。

对于扫描来说,它们是不同的。下面是文件的引文。

d匹配十进制整数。数字的格式与strtol()预期的格式相同,基参数的值为10。 i与整数匹配。数字的格式与strtol()预期的格式相同,基参数的值为​0​(基由解析的第一个字符确定)

i的情况下,如果您的数字以0开头,它将被解析为八进制。

http://en.cppreference.com/w/cpp/io/c/fscanf

票数 7
EN

Stack Overflow用户

发布于 2017-08-21 07:15:40

也许你该看看文件.?

对于printf(),它们是等价的,但对于scanf()则不同。

http://www.cplusplus.com/reference/cstdio/scanf/

对于说明符d,从输入流中提取的字符是任意数量的十进制数字(0-9),可以选择在前面加上符号(+或-)。

对于i,它是任意数量的数字,可以选择在前面加上一个符号(+或-)。

默认情况下采用十进制数字(0-9),但0前缀引入八进制数字(0-7)和0 x十六进制数字(0-f)

签名的论点。

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

https://stackoverflow.com/questions/45791137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档