我有这个代码:
#include <stdio.h>
#include <conio.h>
void main()
{
int n = 5;
clrscr();
printf("n=%*d", n);
getch();
}
我得到的输出是:n= 5
. 为什么会有空间?它是如何产生的?代码中有什么用*
?
有了这个*
,您可以使用变量设置打印的宽度。
C手册中明确提到了这一点。
Richard J. Ross III已经给出了答案。只是再次引用手册中所说的内容。
宽度未在格式字符串中指定,而是作为必须格式化的参数之前的附加整数值参数。
考虑这段代码:
#include<stdio.h>
main()
{
int a,b;
float c,d;
a = 15;
b = a / 2;
printf("%d\n",b);
printf("%3d\n",b);
printf("%03d\n",b);
c = 15.3;
d = c / 3;
printf("%3.2f\n",d);
}
输出将是:
7
7
007
5.10
您可以在此处查看该printf
函数如何用于格式化输出。希望能帮助到你。:)