格式字符
- %d格式字符。
- %d:整数的实际位数输出一个整数。
- %md:在m列的位置上以数据右对齐的方式输出一个整数,m大于整数宽度时多余的位数空格留在数据前面,m小于整数的宽度时m不起作用,系统正确输出该整数。
- %-md:在m列的位置上已数据左对齐的方式输出一个整数,m大于整数的宽度时多余的位数留在数据后面,m小于整数的宽度时m不起作用,系统正确输出该整数。
- %0md:在m列的位置上以数据右对齐的方式输出一个整数,m大于整数的宽度时多余的位数留在数据前面补0。
举例
例1 关于格式字符d的用法举例
#include <stdio.h>
main()
{
int a;
a=123;
printf("%d\n",a);
printf("%6d\n",a);
printf("%2d\n",a);
printf("%-6d\n",a);
printf("%06d\n",a);
return 0;
}
/*
运行结果如下:
123
123
123
123
000123
*/
例2 %o格式字符:八进制整型数据格式。
#include <stdio.h>
main()
{
int a;
a=123;
printf("%o\n",a);
printf("%6o\n",a);
printf("%2o\n",a);
printf("%-6o\n",a);
printf("%06o\n",a);
return 0;
}
/*
运行结果如下:
173
173
173
173
000173
*/
例3 %x格式字符:十六进制整型数据格式
#include <stdio.h>
main()
{
int a;
a=123;
printf("%x\n",a);
printf("%6x\n",a);
printf("%2x\n",a);
printf("%-6x\n",a);
printf("%06x\n",a);
return 0;
}
/*
运行结果如下:
7B
7B
7B
7B
00007B
*/
例4 %u格式字符:十进制无符号整型数据格式
将一个负整型数据以%u,%o,%x格式输出
#include <stdio.h>
int main() {
int a = -1, b = 1;
printf("十进制 八进制 十六进制 无符号整型\n");
printf("a: %d , %o , %x , %u \n", a, a, a, a);
printf("b: %d , %o , %x , %u ", b, b, b, b);
return 0;
}
/*
运行结果如下:
十进制 八进制 十六进制 无符号整型
a: -1 , 37777777777 , ffffffff , 4294967295
b: 1 , 1 , 1 , 1
*/
例5 %c格式字符:字符型数据格式。
#include <stdio.h>
int main() {
char c = 'W'
int i=87;
printf("%c,%d\n",c,c);
printf("%d,%c\n",i,i);
printf("%-5c,%5c\n",c,c);
return 0;
}
/*
运行结果如下:
W,87
87,W
W , W
*/