这是我的测试程序: #include
int main()
{
const char *npa = "541";
printf("%04.4s\n", npa);
return 0;
}
这是输出:
[user@host:/work/user]# gcc -o test test.c
[user@host:/work/user]# ./test
[user@host:/work/user]# 541
根据我的理解,它应打印出0541
,而不是541
,对吗?为什么gcc不尊重填充标志?
更新: 感谢您提供的所有评论。问题是,我有一些其他字符串不是纯粹的数字,仍然希望用前导零填充,任何超过此限制的遍历?