鱼C论坛

 找回密码
 立即注册
查看: 30|回复: 3

占位符

[复制链接]
发表于 4 小时前 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
printf("%010.5s","hdkdg45");
会输出什么
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 4 小时前 | 显示全部楼层
输出是:00000hdkdg

解释:
在 printf 函数中,格式字符串 "%010.5s" 的含义如下:
- ".5" 表示精度,限制字符串输出最多 5 个字符。
- "10" 表示字段宽度,输出总宽度至少为 10 个字符。
- "0" 表示用零填充左边(默认右对齐)。

字符串 "hdkdg45" 有 7 个字符,但精度限制只输出前 5 个字符 "hdkdg"。字段宽度为 10,因此左边填充 5 个零,最终输出为 "00000hdkdg"。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 4 小时前 From FishC Mobile | 显示全部楼层
FishC 发表于 2025-10-23 14:32
输出是:00000hdkdg

解释:

0不会被省略嘛,如果在加-标记变成-010.2呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 4 小时前 | 显示全部楼层
bgc1314159 发表于 2025-10-23 14:34
FishC 发表于 2025-10-23 14:32
输出是:00000hdkdg
...


在 printf 函数中,格式字符串 "%-010.2s" 用于字符串 "hdkdg45" 时,输出结果如下:

- 格式说明符解析:
  - %-010.2s 中:
    - - 表示左对齐。
    - 010 表示字段宽度为 10。
    - .2 表示精度,限制字符串输出最多 2 个字符。
    - s 表示字符串类型。
  - 当同时使用 -(左对齐)和 0(零填充)时,- 优先,0 标志被忽略。因此,填充使用空格而不是零。

- 对于字符串 "hdkdg45":
  - 精度 .2 只取前 2 个字符,即 "hd"。
  - 字段宽度 10 要求总输出长度为 10 字符。由于左对齐,"hd" 放在左侧,右侧用空格填充。
  - "hd" 长度为 2,因此需要填充 8 个空格。

输出结果为:hd        (其中末尾有 8 个空格,总宽度为 10)。

在您的问题中,"0" 会被省略,因为左对齐时零填充无效,填充字符为空格。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-23 19:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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