1- %*d、%*c、%*s在 scanf 和 printf 中的用法不同
1.1-在 scanf 中:
表示忽略掉要读的项。
#include<stdio.h>
int main()
{
char a='p', b='q';
scanf("%*c %c", &a, &b);//假设输入i j,i会被忽略,j被变量a读取。变量b依旧是q
printf("%c %c", a, b);
return 0;
}
1.2-在 printf 中:
用于控制输出宽度。
#include<stdio.h>
int main()
{
int a = 6;
printf("%*d\n", 5, a);
return 0;
}
2- %*.*d、%*.*c、%*.*s在printf中的作用
小数点前*表示输出总宽度;
小数点后*表示输出位数。
#include<stdio.h>
int main()
{
int a = 6;
printf("%*.d\n", 5, a);
printf("%.*d\n", 5, a);
printf("%*.*d",6,2, a);
return 0;
}