谁能解释一下,也可以交换" printf("n=%**d", n, l(;"并解释它是如何工作的? 我尝试并打印 *d=n
#include<stdio.h>
int main()
{
int n=5,l=9;
printf("n=%**dn", l, n);
return 0;
}
语法:
printf("n=%**dn", l, n);
不正确,可能是错别字。它必须只有一个星号 (*(。它定义了格式设置中的最小字段宽度。
正确的语法:
printf("n=%*dn", l, n);
将打印l
大小的空格。n
将以右对齐模式打印。以更清晰的方式理解:
假设l
是 9,n
是 5555(_
为空格(:
n=_____5555 // right justified, padded 9 times with spaces
同样,假设l
相同且n
为 5,则输出将为:
n=________5 // still right justified
注意:您可以尝试使用%s
来打印字符数组。
它用于格式化输出以获得更好的外观。