/*
*的作用是用后面的整数或变量代替原来应该出现在格式串中的数字。
如:
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)这是对于一个*的结果。