关于网友提出的“ 问个关于%s的格式化输出问题哈?”问题疑问,本网通过在网上对“ 问个关于%s的格式化输出问题哈?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 问个关于%s的格式化输出问题哈?
描述: 在一个程序中见到有 %*s 或 %.*s 或 %*.*s 不知道这是个什么格式化输出法, 用一个小程序试了好几次还是没找出规律。
能说明一下并举个例子吗?
解决方案1: printf("%.2f",3.1415);等价于printf("%.*f",2,3.1415);
输出都为3.14;
printf(s, "%*.*f", 10, 2, 3.1415926);//10,2分别代表第一和第二个星号,即宽度和精度
产生" 3.14"
解决方案2: printf动态指定长度信息的数字,采用”*”来占用一个本来需要一个指定宽度或精度的常数数字的位置,例如:
printf(s, "%.*s%.*s", 7, a1, 7, a2);或printf(s, "%.*s%.*s", sizeof(a1), a1, sizeof(a2), a2);
printf(s, "%-*d", 4, 'A'); //产生"65 "
printf(s, "%#0*X", 8, 128); //产生"0X000080","#"产生0X
printf(s, "%*.*f", 10, 2, 3.1415926); //产生" 3.14"
以上介绍了“ 问个关于%s的格式化输出问题哈?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2740159.html