https://www.cnblogs.com/ph829/p/5576832.html
在 scanf 和 printf 里效果是不一样的。
在printf,动态控制显示格式用的
printf("%*s",5,"123");
执行一下,这条语句,输出
##123
(#代表一个空格)
类似于%5d 这样的状况
这里*被常量5代替,用于控制最小字符宽度,主要是针对,最小字符宽度未知的情况,当然*可以对应整型变量
在 scanf 里的意思,表示忽略要读的项。比如 %*d 就是读一个 %d 该读的东西,但不赋值给任何变量。
scanf("%*d %*d %d", &n);
如果输入2004 2005 2006
那么n=2006
关于%-*.*s:
-表示左对齐
小数点.前“*”,表示输出的字符所占位宽
小数点.后“*” 表示输出位数