Printf
printf中的转换说明
语法:printf( 格式字符串, 待打印项1, 待打印项2,...);
注意:格式字符串中的转换说明一定要与后面的每个项相匹配,若忘记这个基本要求会导致严重的后果。
修饰符
注意 float参数的转换
对于浮点类型,有用于double和long double类型的转换说明,却没有 float类型的。这是因为在K&R C中,表达式或参数中的float类型值会被自动 转换成double类型。一般而言,ANSI C不会把float自动转换成double。然 而,为保护大量假设float类型的参数被自动转换成double的现有程序, printf()函数中所有float类型的参数(对未使用显式原型的所有C函数都有 效)仍自动转换成double类型。因此,无论是K&R C还是ANSI C,都没有显 示float类型值专用的转换说明。
转换说明的意义
转换说明把以二进制格式储存在计算机中的值转换成一系列字符(字符串)以便于显示。例如,数字76在计算机内部的存储格式是二进制数01001100。%d转换说明将其转换成字符7和6,并显示为76;%x转换说明把相同的值(01001100)转换成十六进制记数法4c;%c转换说明把01001100转换成字符L。
转换(conversion)可能会误导读者认为原始值被转替换成转换后的值。实际上,转换说明是翻译说明,%d的意思是“把给定的值翻译成十进制整数文本并打印出来”。