意义
- %a:浮点数、十六进制数字和p-记数法(C99)
- %c:单个字符(char)
- %d:有符号的十进制整数(int)
• %md:m为指定输出字符的宽度。如果数据位数小于m,则左端补空格;如果位数大于m,则按实际位数输出。
• %ld:长整型数据
• %hd:短整型数据 - %e或%E=%f:输入与%f相同,输出时输出指数形式
- %f:单精度浮点数(float默认),整数部分全部输出,小数输出6位
• %.nf:这里的n表示精确到小数点后n位;输入可以用小数形式或指数形式
• %m.nf:输出的数据共占m列,其中有n位小数;如果数值长度小于m,则左补空格。
• %-m.nf:输出的数据共占m列,其中有n位小数;如果数值长度小于m,则右补空格。
• %lf:双精度数据类型 - %g=%f:根据数值不同自动选择%f或%e,删除小数点后面空余的0;不能用于int
- %i=%d
- %o:无符号八进制整数
- %p:指针
- %s:字符串;将字符串送到一个字符数组中。在输入时以非空白字符开始,以第一个空白字符结束,字符串以串结束标志'\0'作为其最后字符
• %ms:输出的字符占m列。如果字符串长度大于m,则全部输出;如果小于m,则左补空格。
• %-ms:如果字符串长度小于m,则字符串向左对齐,右补空格。
• %m.ns:输出占m列,但只取字符串左端n个字符,这n个字符向右对齐,左补空格。
• %-m.ns:输出占m列,但只取字符串左端n个字符,这n个字符向左对齐,右补空格,如果n>m,则m自动取n值,即保证n个字符正常输出。 - %u:无符号(正负)的十进制整数
- %x或%X:使用十六进制数字0f的无符号十六进制整数,%x小写字母输出,%X大写字母输出
- %I64d:用于INT64或long long
- %I64u:用于UINT64或unsigned long long
- %I64x:用于64位十六进制数据
特殊用法
- %:引导符,不可或缺
- -:存在代表左对齐输出,没有默认右对齐输出
- 0:存在代表空位填0,没有默认空位不填
- m.n:m指域宽,即对应的输出项在输出设备上所占的字符数;n指精度,用于说明输出的实型的小数位数,默认精度为n=6位
- l或h:l对于整型指long型,对于实型指double型;h可以把整型的格式字符修正为短整型