1.一行输入多个参数
如果输入一组数据,如17140216;80.845,90.55,100.00
scanf("%d;%f,%f,%f\n",&a,&b,&c,&d);
可截取输入中对应的数据进行输入,对齐标点符号.
2.数据的截取,例如前1-4个值赋给a 后面5-8的值赋予b
#include <stdio.h>
int main() {
int a, b, c;
scanf("%4d%2d%2d",&a,&b,&c);//%4d表示取1-4的值值给a, %2表示取5-6的值给b,以此类推
printf("year=%d\nmonth=%02d\ndate=%02d",a,b,c);
//%02d表示, 当数字为2,如果小于2,自动在左边补0,如输入1,输出01
return 0;
}
来自牛客: 通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0。