[条件函数if的用法详解]实例详解printf函
数用法
篇一: 实例详解printf函数用法
实例详解printf函数用法
0.前言
使用printf打印时发现, 如果数据类型和打印使用的类型不一致, 结果就是混乱的.
这是因为printf本身并不进行数据的类型转换, 他只是把输入按照给定的数据格式输出, 如果二者不匹配,
那么由于不同数据类型的二进制存储方式不一样, 读出的数据就是错误的.
所以, 为求稳妥, 在使用printf, fprintf, scanf, fscanf在类型不一致时还是手动转化吧!
如:
printf;
printf;
输出为:
1.300000
-858993459
-9255965340887278400000000000000000000000000000000000000000 0000.000000
前一行正确, 但是后一行1.3与%d不匹配打印错误, 不仅如此还影响到后一个也打印错误.
对于读入fscanf, 用%f读入float型的值, 用%lf读入double型的值
C语言printf函数中的格式字符串的一般形式为:
----------------------------------------------------------
%[标志][输出最小宽度][.精度][长度]类型
----------------------------------------------------------
其中方括号[]中的项为可选项.
各项的意义介绍如下:
1.类型:
----------------------------------------------------------
类型格式字符意义
----------------------------------------------------------
a/A浮点数、十六进制数字和p-计数法
c输出单个字符
d以十进制形式输出带符号整数
e/E以指数形式输出单、双精度实数
f以小数形式输出单、双精度实数
g/G以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用
i有符号十进制整数
o以八进制形式输出无符号整数
p指针
s输出字符串
x/X以十六进制形式输出无符号整数
u以十进制形式输出无符号整数
----------------------------------------------------------
//示例:
#include
#include
void main
{
system;
printf;
/*以十进制形式输出带符号整数*/
printf;
printf;
/*以八进制形式输出无符号整数*/ printf;
printf;
printf;
/*以十六进制形式输出无符号整数*/ printf;
printf;
printf;
/*以十进制形式输出无符号整数*/ printf;
printf;
printf;
/*以小数形式输出单、双精度实数*/ printf;
printf;
printf;
printf;
/*以指数形式输出单、双精度实数*/
printf;
printf;
printf;
printf;
printf;
/*以%f%e中较短的输出宽度输出单、双精度实数*/ printf;
printf;
printf;
printf;
printf;
printf函数是如何实现的/*输出单个字符*/
printf;
printf;
printf;