我有这个代码:
#include <stdio.h>
#include <conio.h>
void main()
{
int n = 5;
clrscr();
printf("n=%*d", n);
getch();
}
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:n= 5.为什么有空间?它是如何产生的?有什么用的*代码?
如有疑问,请阅读文档:
*:宽度未在格式字符串中指定,而是作为必须格式化的参数之前的附加整数值参数.
但是,您似乎使用它错了.使用它的正确方法是这样的:
printf("n=%*d", 2, n);
Run Code Online (Sandbox Code Playgroud)