博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C 语言 printf 用法
阅读量:4216 次
发布时间:2019-05-26

本文共 1492 字,大约阅读时间需要 4 分钟。

记录一:

程序段如下:

[cpp]
  1. #include <stdio.h>  
  2.   
  3. int main()  
  4. {  
  5.     unsigned char data[] = “123456789”;  
  6.     int a = 15;  
  7.     int b = 7;  
  8.   
  9.     //控制最小字符宽度,其中*号使用第一个参数填充  
  10.     printf(”%0*s\n”, a, data);  
  11.     printf(”%0*s\n”, b, data);  
  12.   
  13.     //显示输出的位数  
  14.     printf(”%.*s\n”, a, data);  
  15.     printf(”%.*s\n”, b, data);  
  16.       
  17.     printf(”%0*.*s\n”, a, b, data);  
  18.   
  19.     return 0;     
  20. }  
#include 
int main(){ unsigned char data[] = "123456789"; int a = 15; int b = 7; //控制最小字符宽度,其中*号使用第一个参数填充 printf("%0*s\n", a, data); printf("%0*s\n", b, data); //显示输出的位数 printf("%.*s\n", a, data); printf("%.*s\n", b, data); printf("%0*.*s\n", a, b, data); return 0; }

结果如下:

 000000123456789
123456789
123456789
1234567
000000001234567

分析:

小数点.后“*”表示输出位数,具体的数据来自参数表

printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”。同样,小数点.前也可以添加*,也要用户输入一个位宽值来代替,表示输出的字符所占位宽。

总结:

printf的一般形式为printf(“格式控制字符串”,输出列表),格式控制字符串形式为:[标志][输出最小宽度][.精度][长度]类型。

其中方括号[]中的项为可选项。 各项的意义介绍如下: 

1)类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:

d 以十进制形式输出带符号整数(正数不输出符号) 
o 以八进制形式输出无符号整数(不输出前缀 0) 
x,X 以十六进制形式输出无符号整数(不输出前缀 Ox) 
u 以十进制形式输出无符号整数 
f 以小数形式输出单、双精度实数 
e,E 以指数形式输出单、双精度实数 
g,G 以%f 或%e 中较短的输出宽度输出单、双精度实数 
c 输出单个字符 
s 输出字符串 

2)标志:标志字符为-、+、#、空格四种,其意义下表所示: 

- 结果左对齐,右边填空格 
+ 输出符号(正号或负号) 
空格 输出值为正时冠以空格,为负时冠以负号 
# 对 c,s,d,u类无影响;对 o 类,在输出时加前缀 o;对 x 类,在输出时加前缀 0x;对 e,g,f 类当结果有小数时才给出小数点 

3)输出最小宽度:用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或 0。 

4)精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

 5)长度:长度格式符为 h,l 两种,h 表示按短整型量输出,l 表示按长整型量输出。

转载地址:http://iaimi.baihongyu.com/

你可能感兴趣的文章
归并排序
查看>>
插入排序进行链表排序
查看>>
android实现截图功能
查看>>
android 网络连接状态判断与数据类型
查看>>
android webview 实现网页加载进度
查看>>
《人性的弱点》
查看>>
《大师们是如何工作的》
查看>>
c++ 中的多重继承和其权限问题
查看>>
那些年
查看>>
android listview 图文并茂
查看>>
《浪潮之巅》1 AT&T
查看>>
《浪潮之巅》2蓝色巨人 IBM公司
查看>>
《浪潮之巅》3水果公司的复兴
查看>>
《浪潮之巅》4计算机工业的生态链
查看>>
《浪潮之巅》5奔腾的芯 英特尔公司
查看>>
《浪潮之巅》7 互联网的金门大桥 -—思科公司
查看>>
python语言程序设计基础笔记(三)从题目到方案
查看>>
读取txt文件出现出现多余空行问题
查看>>
从理论到实践开发自己的聊天机器人
查看>>
@***装饰器(python)
查看>>