C语言格式化字符串细节 --- %*s %*c %*.*s
参考
在 scanf 和 printf 里效果是不一样的。
scanf()函数
“*”符用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
scanf("%*d %*d %d", &n);
如果输入2004 2005 2006,那么n=2006
printf()函数
“”符用以动态控制显示格式,
printf("%*s",5,"123");
输出 ##123
(#代表一个空格)。
类似于 %5s 这样的状况,这里被常量5代替,用于控制最小字符宽度,主要是针对,最小字符宽度未知的情况,当然*可以对应整型变量
关于 %.s
小数点.前也可以添加*,也要用户输入一个位宽值来代替,表示输出的字符所占位宽。