C printf中*的用法是什么?

C printf中*的用法是什么?,c,printf,C,Printf,我有一个密码: #include <stdio.h> #include <conio.h> void main() { int n = 5; clrscr(); printf("n=%*d", n); getch(); } #include<stdio.h> main() { int a,b; float c,d; a = 15; b = a / 2; printf("%d\n",b

我有一个密码:

#include <stdio.h>
#include <conio.h>
void main()
{
    int n = 5;
    clrscr();
    printf("n=%*d", n);
    getch();
}
#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);
}
#包括
#包括
void main()
{
int n=5;
clrsc();
printf(“n=%*d”,n);
getch();
}
我得到的输出是:
n=5
。为什么会有空间?它是如何生成的?
*
在代码中有什么用途?

如有疑问,请阅读:

*

宽度不是在格式字符串中指定的,而是作为必须格式化的参数前面的附加整数值参数指定的

然而,你似乎用错了。正确的使用方法如下:

printf("n=%*d", 2, n);

使用此
*
,您可以使用一个变量设置打印宽度。

中明确提到了这一点

答案已经给出了。只是再引用一下手册上的话

宽度不是在格式字符串中指定的,而是作为必须格式化的参数前面的附加整数值参数指定的

考虑以下代码:

#include <stdio.h>
#include <conio.h>
void main()
{
    int n = 5;
    clrscr();
    printf("n=%*d", n);
    getch();
}
#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);
}

您可以在这里看到如何使用
printf
函数格式化输出。希望有帮助。:)

我看到你的答案太晚了(我正在写)。我应该删除它吗?这取决于你,就个人而言,我会,因为我担心的人谁会来与一个向下的投票洪流。但是,嘿,这取决于你(不管怎样,我还是会支持你)。@RichardJ.RossIII你从哪里得到人们应该否决类似答案的想法@RichardJ.RossIII那太荒谬了。没有“完美”的答案。多个答案,陈述相同的基本事实,对于理解一个问题非常有用。@RichardJ.RossIII因此,如果你同意,为什么要评论“我的答案被愚弄”?没问题,因为你可以看到人们乐于帮助:但是,自己努力解决问题总是更好的。你选择的搜索引擎是你的朋友!我能得到更多的例子吗?谢谢你的例子。我在哪里可以找到更多?对C最好的书是什么?对初学者最好的书是Yashawant Kanetkar的《让我们来C》:)你可以在我的大学里找到这本书。我会调查的。谢谢。@PriyankaR这是个很难回答的问题。很多人会说K&R是最好的,因为他们是第一个。