读C程序设计语言第二版有下面的总结
我们用具体例子来进行分析
一个hello,空格world字符串,字符串长度为12
- :%s: 输出:hello,world:
- :%10s: 输出 :hello, world: 10定义的最小宽度,所以我们要最少输出10个字符,
- :%.10s: 输出:hello,wor: 小数点后的10定义了最大精度,所以我们的字符串只截取了10个字符
- :%-10s:输出 :hello, world: 负号定义了左对齐,10定义的最小宽度,所以我们要最少输出10个字符,
- :%.15s:输出 :hello, world: 15定义的最大精度,我们只有12个字符所以都可以输出
- :%-15s:输出 :hello, world : 15定义的最小宽度,我们只有12个字符都要输出,不够的补0,负号代表左对齐,所以空格补充在右侧
- :%15.10s:输出 : hello, wor: 15定义的最小宽度,小数点后面10定义了最大精度,所以我们输出了“hello, wor”,又由于是右侧对齐,所以空格补充在左侧,保证输出了最少15位
- :%-15.10s:输出 :hello, wor : 15定义的最小宽度,小数点后面10定义了最大精度,所以我们输出了“hello, wor”,又由于是左侧对齐,所以空格补充在右侧,保证输出了最少15位
%d=int,
%ld=long,
%lld=long long;
在32位编译器上,int=long=32bit;long long=64bit。