C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 像“1 $”这样的位置参数如何与printf()一起工作?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我找到了
printf("%*d",width,num);

printf("%2$*1$d",num);

是等同的

但是IMO的第二种风格应该是一样的:

printf("%*d",num,width);

但是通过测试,似乎人是正确的;为什么?

解决方法

printf()的POSIX规范的相关部分定义了以下行为:

%n $标识要打印其值的参数 – 您的示例中的参数2.

* n $标识其值被视为示例中的格式width – argument 1的参数.

所以,那些写手册遵循标准.

你在发表评论

如前所述,该标准将n $部分作为后缀修饰符(%和*),而不是作为格式转换说明符(在本示例中为d)和*的前缀修饰符.您的推定设计可能可以做出来,但不是选择的设计.

大佬总结

以上是大佬教程为你收集整理的c – 像“1 $”这样的位置参数如何与printf()一起工作?全部内容,希望文章能够帮你解决c – 像“1 $”这样的位置参数如何与printf()一起工作?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。