1.在scanf中使用,则添加了 * 的部分会被忽略,不会被参数获取%*d,%*s
2. 在printf,以*作为变量控制输出格式
%Ns ( “%*s”,N,a ): 至少输N位字符串,超长不截断,不足右对齐
%-Ns : 至少输N位字符串,超长不截断,不足左对齐
%N.Ms:("%*.*s",N,M,a) 至少输N位字符串,超M截断 ,不足右对齐
%-N.Ms: 至少输N位字符串,超M截断 ,不足左对齐
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
char a[20]="123456789";
printf("1 不限长:\n");
printf("至少15位,右对齐:%15s\n",a);
printf("至少15位,左对齐:%-15s\n",a);
printf("等价于:\n");
printf("%*s\n",15,a);
printf("%-*s\n",15,a);
printf("\n2 限长:\n");
printf("最多7不对齐:%.7s\n",a);
printf("等价:%.*s\n",7,a);
printf("\n3 可对齐限长:\n");
printf("%*.*s\n",10,5,a);
printf("%10.5s\n",a);
printf("%-*.*s\n",10,5,a);
printf("%-10.5s\n",a);
return 0;
}