1)printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示
2)通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据
3)通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0。
#include <stdio.h> int main() { //printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示 printf("%#o %#X\n",1234,1234); return 0; }
int main() { float a = 12.345678; printf("%.2f\n", a);//保留小数点后2位 printf("%8.3f\n", a);//域宽为8位,保留小数点后3位(默认多余的域宽为空格,默认输出靠右) printf("%-8.3f\n", a);//加上-)输出靠左 return 0; }
#include <stdio.h> //通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0。 int main() { int y=0; int m=0; int d=0; scanf("%4d%2d%3d",&y,&m,&d); //使用%0可以填充前导0 printf("year=%d\n",y); printf("month=%02d\n",m); printf("date=%02d\n",d); return 0; }