c语言中输出格式%-0md空位不是用0填充吗?为什么末尾的0省略了

printf("y=%-05d“,3)输出的是3 为什么不是30000 不是空位用0填充吗?
2025-02-24 12:59:16
推荐回答(2个)
回答1:

那是因为你前面多了个“-”,这个符号表示左对齐输出,既然是左对齐,3前面就没有空位了,自然不需要用0来补位了!,去掉“-”就会看到你想要的效果了!

回答2:

应该是00003吧