java string 占位符_有趣的问题,C语言程序常用的printf整数占位符为什么是%d呢?...

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-29 13:37   35   0

C语言程序开发中,很多程序员喜欢使用 printf() 函数打印一些日志,便于观察和调整程序,因此 printf() 函数是一个使用相当频繁的函数。

d1271f69d95e7e4d91eba4d1d34e6375.png

有趣的问题

有趣的问题

一般来说,所谓日志,其实就是一些字符串,printf() 函数为了方便的将其他(字符串以外)类型的参数整合入字符串,提供了一些占位符,例如 %s, %d, %f, %p 等。

一个有趣的问题是,%s 可以填充字符串(string),%f 可以填充浮点数(float),%p 则可以填充一个指针(pointer),这些占位符分别是用对应英文单词的首字母表示的,因此比较好记。那么常用于填充整数的 %d 为什么不按照 integer 的首字母 %i 呢?

74f3667ec909b5758fb3b63aa31e002f.png

填充整数的 %d 为什么不按照 integer 的首字母 %i 呢?

printf() 函数的占位符

事实上,%d 中的 d 并不表示 integer,而是表示 decimal(10进制)。类似的 %x 常用于打印 16 进制整数(hexadecimal), %o 常用于打印 8 进制整数(octal)。C语言程序开发中的整数显然可以是任意进制的。

调用 printf() 函数时,若是希望打印一个一个整数,完全可以使用%i作为占位符,下面是一段C语言代码示例:

#include int main(){printf("%i
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP