鱼C论坛

 找回密码
 立即注册
查看: 778|回复: 5

请问一下为啥是11啊

[复制链接]
发表于 2023-11-16 16:46:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
就圈蓝色的地方为什么不能直接打%u而是要打成%11u
QQ图片20231116164235.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-16 16:47:10 | 显示全部楼层
抱歉,我之前的回答有误。在你提供的代码中,%11u并不是必须的,而是用来对输出进行格式化的方式之一。

在这段代码中,使用printf("%11u", num)的目的是为了使用最少11个字符的宽度输出无符号整数。如果要输出的数字不够11位宽,会在左边填充空格,以达到指定的宽度。

但在这段代码中,printf("%u", num)也可以实现相同的功能,因为默认情况下,printf函数会根据输出的数字自动调整宽度。

所以,printf("%u", num)printf("%11u", num)的结果是相同的,都是按照十进制无符号整数的形式输出变量num的值。

感谢你的指正,希望这次的解答更准确了解释了问题。如果你还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-16 16:51:37 | 显示全部楼层
这是因为在C语言中,%u用于格式化输出无符号整数。而%11u表示输出一个至少宽度为11的无符号整数。当你使用%u时,它只会输出实际数字,不会考虑宽度。但是当你使用%11u时,它会输出至少宽度为11的数字,如果实际数字不足11位,会在前面补空格。因此,%11u会输出一个至少宽度为11的无符号整数,而不是直接输出实际数字。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-16 16:55:14 | 显示全部楼层
unsigned long long 类型请使用 llu 的格式输出,注意两个字母 l,不是数字 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-16 17:30:44 | 显示全部楼层
unsigned (int) = %u
unsigned long long = %ull


4# 正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-16 17:47:02 | 显示全部楼层
Mike_python小 发表于 2023-11-16 16:47
抱歉,我之前的回答有误。在你提供的代码中,%11u并不是必须的,而是用来对输出进行格式化的方式之一。

在 ...

谢谢您
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-27 16:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表