c语言中printf()函数的转换说明修饰符
1、
#include <stdio.h> #define TEST 58 //符号常量or对象式宏 int main(void) { printf("|%d|\n", TEST); printf("|%5d|\n", TEST); //5表示宽度 printf("|%-5d|\n", TEST); //-表示左对齐 printf("|%05d|\n", TEST); //0表示用0填充 printf("|%+5d|\n", TEST); //+表示显示符号 return 0; }
2、
#include <stdio.h> int main(void) { double test = 39.342; printf("|%f|\n", test); printf("|%e|\n", test); //科学计数法表示 printf("|%.2f|\n", test); // 保留两位小数 printf("|%5.2f|\n", test); // 指定宽度为5,保留两位小数 printf("|%10.2f|\n", test); // 指定宽度为10, 保留两位小数 printf("|%010.2f|\n", test); // 指定宽度为10,保留两位小数, 多余位数用0填充 printf("|%+10.2f|\n", test); // 指定宽度为10,保留两位小数,显示符号 return 0; }
3、
#include <stdio.h> int main(void) { int num = 100; printf("decimal: %d.\n\n", num); printf("octal: %o.\n", num); printf("octal: %#o.\n\n", num); // 显式说明为8进制 printf("hexadecimal: %x\n", num); printf("hexadecimal: %#x\n", num); // 显式说明为16进制 return 0; }
4、
#include <stdio.h> int main(void) { int a = 34; int b = -34; printf("a: |%d|\n", a); printf("b: |%d|\n\n", b); printf("a: |% d|\n", a); printf("b: |% d|\n", b); return 0; }
5、
#include <stdio.h> int main(void) { int a = 8; printf("a: |%5d|\n", a); printf("a: |%5.3d|\n", a); //宽度为5,显示3位,位数不够用0填充 printf("a: |%05d|\n", a); //宽度为5,宽度不够则用0填充 printf("a: |%05.3d|\n", a); //宽度为5,显示3位 return 0; }
6、
#include <stdio.h> int main(void) { char test[128] = "abcdefg"; printf("test: |%s|\n", test); printf("test: |%10s|\n", test); //宽度为10 printf("test: |%10.3s|\n", test); //宽度为10,显示3位 printf("test: |%-10.3s|\n", test); // 宽度为10,显示3位,左对齐 return 0; }