c语言中符号*都有什么作用?

int i=1;printf("%*d尀n",i,i);怎么后面有两个i 呀初学者~~~请教各位高手呀
2024-11-09 03:45:42
推荐回答(1个)
回答(1):

printf("%*d\n",i,i);
加上*号后,输出列表中的第一个i表示输出列宽,使要输出的参数右对齐,此时i=1表示输出列宽为1,于是在第一列显示1,假设是如下语句:
printf("%*d\n",3,i);
由于输出列宽是3,于将在第三列输出i的值。
另外,printf("%-*d\n",i,i);表示左对齐