C语言格式化输出printf
#include <stdio.h>
#include <stdlib.h>
int main()
{
// 基本用法:
int a = -5;
printf("a = %d \n",a); // 有符号整数
// -5
printf("a = %u \n",a); // 无符号整数
// 1000 0000 0000 0000 0000 0000 0000 0101 原码
// 1111 1111 1111 1111 1111 1111 1111 1010 反码
// 1111 1111 1111 1111 1111 1111 1111 1011 补码
// 0111 1111 1111 1111 1111 1111 1111 1011 去除符号
printf("a = %x \n",a); // 以16进制表示的有符号整数
// 1111 1111 1111 1111 1111 1111 1111 1011 -> fffffffb
printf("a = %o \n",a); // 以10进制表示的有符号整数
// 1111 1111 1111 1111 1111 1111 1111 1011 -> 37777777773
float f = 10.0f;
double d = 11.0f;
printf("f = %f \n",f);
// 10.000000
printf("d = %lf \n",d);
// 11.000000
// %e 指数形式的浮点数
printf("0.123 = %e \n",0.123);
// 1.230000e-001
// %s 字符串
printf("hello %s \n","world");
// %c 字符
printf("ch = %c \n",'c');
// %p 指针的值 a的地址
printf("a = %p \n",&a);
// 特殊应用:
int b = 5;
float t = 3.1415926f;
printf("b=**%3d**\n",b); // 要求宽度为3位,如果不足3位,则前面用空格补充,如果超过3位,则无效 __5
printf("b=**%03d**\n",b); // 要求宽度为3位,如果不足3位,则前面用0补充,如果超过3位,则无效 005
printf("b=**%-3d**\n",b); // 要求宽度为3位,如果不足3位,则后面用空格补充,如果超过3位,则无效 5__
printf("t=**%7.3f**\n",t); //要求小数点后保留3位 t=** 3.142**
system("pause");
return 0;
}