一:宽度精度
以整形举例:
用法%d
对齐中有宽度和精度参数设置
%(x1).(x2)d
其中x1就是宽度设置(固定长度) x2就是精度设置(保留几位小数)
特殊的不能直接赋值参数,需要间接赋值
例子:
#include<stdio.h>
int main()
{
int k,j;
scanf("%d %d",&k,&j);
double a = 18.16054;
double b = 17.676767;
printf("%*.*f %*.*f",k,j,a,k,j,b);
return 0;
}
这两个'*'就相当于两个不同的变量(尽管样子相同),这里就是在printf里间接赋值
二:对齐
右对齐 只用写%d
左对齐 要加个'-'号 %-d
三:字符与字符串
字符是单个的,而字符串是字符串联起来的
'a' 是一个字符 可以直接写出
但是’abc'就需要一个字符串空间储存
zi[10] 这就是一个字符串变量,可以保存十个字符
四:02,003,0004
如果读入的只是2 想要读出02
写法:%02d
例子:
int a = 2;
printf("%02d",a) -> 读出:02 其他同理
五:八进制(%o),十进制(%u),十六进制(%x)
#include<stdio.h>
int main()
{
int a = 202;
int b = 117;
int c = 70;
int d = 130;
printf("%u %#o %#x\n%u %#o %#x\n%u %#o %#x\n%u %#o %#x\n",a,a,a,b,b,b,c,c,c,d,d,d);
return 0;
}
结果
202 0312 0xca 117 0165 0x75 70 0106 0x46 130 0202 0x82