#include <stdio.h>
int main()
{
int i=1;
printf("##%d\n",i,i);
i++;
printf("##%*d\n",i,i);
i++;
printf("##%*d\n",i,i);
i++;
return 0;
}
*号指明了%d的字符宽度,对应参数中第一个参数为实际字符宽度
所以第二个printf输出的是宽度为2的数字2,第三个printf输出的是宽度为3的数字3
见:C primer plus中文版P95-96 printf中的*修饰符
有帮助望采纳
第一个printf只输出一个数值 1,第二个i是多余的没用
第二个printf输出02,第一个i对应到星号那里,表示输出数据的宽度,第二个i就是要输出的数
第三个printf输出003,同第二个解释一样
看看这个: %*d��c��������ʲô��˼_�ٶ�֪�� https://zhidao.baidu.com/question/577305001.html