printf中*的作用
Posted TPMer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了printf中*的作用相关的知识,希望对你有一定的参考价值。
/*
*的作用是用后面的整数或变量代替原来应该出现在格式串中的数字。
如:
printf("a = %.*f", 4, 3.1415926535);
将输出3.1416
这是百度知道的结果
*/
#include<stdio.h>
int main()
int i,j,k;
for(i=1; i<=5; i++)
printf("%*d\\n",i,2); //这里会跳过输出i的值而输出后面的2
for(i=1,j=1; i<=5; i++,j++)
printf("%*.*d\\n",i,j,2); //同上,只不过第二个跳过的用0代替了
/*
printf("%*d\\n",2,2);
printf("%*d\\n",3,2);
printf("%*d\\n",4,2);
printf("%*d\\n",5,2);*/
还有网上的一种:
#include<stdio.h>
void main()
int i=1;
printf("##%*d\\n",i,i);
i++;
printf("##%*d\\n",i,i);
i++;
printf("##%*d\\n",i,i);
输出:
##1
## 2
## 3
所以由此可以猜测*的作用是代替后面的变量值,比如int i=3;printf("%*d",i,i); 相当于 printf("%3d",i)这是对于一个*的结果。
以上是关于printf中*的作用的主要内容,如果未能解决你的问题,请参考以下文章
C语言printf中%s%*s%*.*s的作用以及实现一个进度条
C语言printf中%s%*s%*.*s的作用以及实现一个进度条
C语言printf中%s%*s%*.*s的作用以及实现一个进度条