1.有符号整型 %d 和 %lld
// 4字节整型
int n1 = -10000;
int n2 = 10000;
printf("%d / %d",n1,n2);
// 输出结果为: -10000 / 10000
// 8字节长整型
long long int n1 = -10000;
long long int n2 = 10000;
printf("%lld / %lld",n1,n2);
// 输出结果为: -10000 / 10000
2.无符号整型 %u 和 %llu
// 4字节无符号整型
unsigned int n = 10000;
printf("%u",n);
// 输出结果为: 10000
unsigned int n = -1; //实际会被转换成无符号值 4,294,967,295
printf("%u",n);
// 输出结果为: 4294967295
// 8字节无符号长整型
unsigned long long int n = 10000;
printf("%llu",n);
// 输出结果为: 10000
unsigned long long int n = -1; //实际会被转换成无符号值 18446744073709551615
printf("%llu",n);
// 输出结果为: 18446744073709551615
3.size_t类型 %zd
size_t tn = 100;
printf("%zd",tn);
4.以十六进制形式输出 %x
int n = 10000;// 实际转换成十六进制为 0x2710
printf("%x",n);
//输出结果为:2710
printf("%x", &n);// 也可以输出内存地址
// 输出结果可能为:0x0000abc0
5.以指针形式输出 %p
int n = 10000;
printf("%p",&n);// 输出的是n的内存地址
char* p = "aaa";
printf("%p",p);// 输出的是p指针地址
6.输出字符串 %s
char* p = "aaaaa";
printf("%s",p);// 输出:aaaaa
char aData[] = "12345";
printf("%s",aData);// 输出:12345
7.输出单字符 %c
char c='a';
printf("%c",c);// 输出:a