首页 > 后端开发 > C++ > C 格式化输入/输出中'%i”和'%d”之间的主要区别是什么?

C 格式化输入/输出中'%i”和'%d”之间的主要区别是什么?

Mary-Kate Olsen
发布: 2024-11-28 15:23:10
原创
737 人浏览过

What's the Key Difference Between `%i` and `%d` in C's Formatted Input/Output?

格式化 IO 函数中转换说明符 %i 和 %d 之间的区别

在格式化 IO 函数中,例如 printf 和 scanf,转换说明符用于控制输入和输出数据的解释和格式化。在各种说明符中,%i 和 %d 经常用于整数。

输出:

当用于输出时(例如,与 printf 一起使用),%i 和%d 的行为相同。它们都表示一个整数值,并根据系统区域设置以默认格式打印它。

输入:

但是,%i 和 %d 之间的区别出现了在输入操作期间(例如,使用 scanf)。在这里,它们的行为有所不同:

  • %d: 将整数扫描为有符号十进制数,以基本算术表示法表示。
  • % i: 主要将整数扫描为带符号的十进制数,但如果前缀适当,它也允许十六进制和八进制表示。十六进制数字以“0x”开头(例如“0x20”),而八进制数字以“0”开头(例如“025”)。

因此,在输入类似“ 033”,scanf("%d") 将其解释为 33(带符号的十进制数),而 scanf("%i") 将其解释为27(八进制数),表示表示方式不同。

以上是C 格式化输入/输出中'%i”和'%d”之间的主要区别是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板