1.%d | int整型输出,%2d表示场宽为2,向右对齐 |
2.%ld | long的长整型输出 |
3.%s | char字符串型的输出 |
4.%c | char型的字符输出(单个字符,比如‘a’) |
5.%p | 指针地址的输出 |
6.%f | float浮点型的输出,默认情况下保留6位小数(%.2f,保留两位小数) |
7.%lf | double双精浮点型的输出,用发与%f一样 |
8.%e | 以指数的形式输出实数 |
9.%g | 根据大小自动选择输出格式(计算得到什么结果就输出什么) |
10.%o | 以八进制数形式输出整数 |
11.%x | 以十六进制数形式输出整数,或输出字符串的地址 |
12.%u | 以十进制数形式输出unsigned型数据(无符号数) |
代码如下 :
#include <stdio.h>
int main() {
int num = 123;
long big_num = 1234567890L;
char str[] = "Hello";
char ch = 'A';
int *ptr = #
float float_num = 3.14159;
double double_num = 1234.56789;
float scientific_num = 6.022e23;
int octal_num = 123;
int hex_num = 255;
unsigned int unsigned_num = 4294967295;
printf("1. %%d: %2d\n", num);
printf("2. %%ld: %ld\n", big_num);
printf("3. %%s: %s\n", str);
printf("4. %%c: %c\n", ch);
printf("5. %%p: %p\n", ptr);
printf("6. %%f: %f\n", float_num);
printf("7. %%lf: %lf\n", double_num);
printf("8. %%e: %e\n", scientific_num);
printf("9. %%g: %g\n", double_num);
printf("10. %%o: %o\n", octal_num);
printf("11. %%x: %x\n", hex_num);
printf("12. %%u: %u\n", unsigned_num);
return 0;
}
对应输出如下 :
1. %d: 123 //向右移动了一个字节
2. %ld: 1234567890
3. %s: Hello
4. %c: A
5. %p: 0x7ffee3e52a14
6. %f: 3.141590
7. %lf: 1234.567890
8. %e: 6.022000e+23
9. %g: 1234.57
10. %o: 173
11. %x: ff
12. %u: 4294967295