%5d%*是什么意思?*f在c语言


#include <stdio.h>
int main()
{
int val =10;
float val1 = 56.40;
printf("%d%*.*f", val,val,val-8,val1);

}

输出为10 56.40

%5d%*.*f的实际含义是什么

#include <stdio.h>
int main()
{
int val =10;
float val1 = 56.40;
printf("%d%f", val,val,val-8,val1);

}

输出为100.000000

为什么仅仅输出%d%f就会得到不同的输出?

包含%d%f代码的代码,输出为100.0000

包含%d%*的代码。*f代码,输出为1056.40

  • %5d表示打印int,最小字段宽度为5。如果值不是5个字符宽,它将留下空格填充。在示例输出中,您要么无法判断,要么没有粘贴空格。

  • %*.*f表示打印一个float,其最小字段宽度和精度(.后面的数字)作为参数提供,由*表示。在本例中,字段宽度为val,精度为val-8

您的第二个代码示例完全是错误的用法。你声称传递的是int和float,但实际上传递的是3 int和float。

相关内容

  • 没有找到相关文章

最新更新