1.首先说一下什么是占位符,大家看到的%d、%f等都是占位符,简单来说就是每种数据类型对应相关的占位符。
2.占位符有哪写?
%d //以十进制整型格式
%i //以十进制整型格式
%ld //以十进制长整型(long int)格式
%lld //以十进制长长整型(long long int)格式
%u //以无符号十进制整型格式
%c //以字符格式
%f //以float型格式输出
%lf //以double型格式输出
%e //以指数格式
%le //以指数格式
%E //以指数格式
%lE //以指数格式
%g //%e或%f的缩短版
%G //%E的缩短版
%s //以字符串格式
%o //以无符号八进制整型格式
%ho //以八进制短整型格式输出
%p //以地址格式
%x //以无符号十六进制整型格式(小x输出的十六进制为小写的)
%X //以无符号十六进制整型格式(大X输出的十六进制为大写的)
%hd //以短整型格式
%hu //以无符号短整型格式
%lu //以无符号长整型格式
3.格式输出控制(以下的m和n都是整数)
%+md /*按照指定宽度m输出十进制整型数据,如果数据实际宽度大于m则按照实际输出,小于m
则按照右对齐(+表示右对齐)输出,+通常省略不写*/
%-md /*按照指定宽度m输出十进制整形数据,如果数据实际宽度大于m则按照实际输出,小于m
则按照左对齐(-表示左对齐)输出,-不能省略*/
%+mc //按照指定宽度m输出字符,+通常省略不写,+表示右对齐
%-mc //按照指定宽度m输出字符,不能省略,-表示左对齐
%+mf /*按照包括小数点在内的数据宽度m输出浮点型数据,当m大于实际数据宽度时,右对齐,+通常省略
当m小于实际数据宽度时,将以实际数值输出*/
%-mf /*按照包括小数点在内的数据宽度m输出浮点型数据,当m大于实际数据宽度时,左对齐,-不能省略
当m小于实际数据宽度时,将以实际数值输出*/
%.nf /*按照指定小数点后的输出宽度输出浮点型数据,当n大于实际数据有效位数时,右边补0,当n小于
实际数据有效位数时采用四舍五入处理*/
%+m.nf /*按照指定包括小数点在内的数据输出全部宽度,当m大于输出数据全部数据宽度时,左边补空格,
当m小于输出全部数据宽度时,将按照实际宽度输出,注意:使用这种格式输出时,将优先考虑n的
值,即在满足n的值基础上再判断m对数据输出的影响。当m小于n时,则m对输出数据不起作用*/
%-m.nf /*按照指定包括小数点在内的数据输出全部宽度,当m大于输出数据全部数据宽度时,右边边补空格,
当m小于输出全部数据宽度时,将按照实际宽度输出,注意:使用这种格式输出时,将优先考虑n的
值,即在满足n的值基础上再判断m对数据输出的影响。当m小于n时,则m对输出数据不起作用*/
%+ms /*按照输出宽度为m列的字符串输出字符串,当m小于实际的字符串长度时,将按实际字符串输出
当m大于实际字符串长度时m时,左补空格*/
%-ms /*按照输出宽度为m列的字符串输出字符串,当m小于实际的字符串长度时,将按实际字符串输出
当m大于实际字符串长度时m时,右补空格*/
%+m.ns /*按照指定输出字符串的长度m输出字符串,当m大于实际字符串长度时,输出的字符串左补空格,
当m小于等于实际字符串长度时,将按实际字符串输出。n用于指定输出左边n个字符,当n大于实际
字符串长度时,将按实际字符串输出。当m小于n时,忽略m的作用*/
%-m.ns /*按照指定输出字符串的长度m输出字符串,当m大于实际字符串长度时,输出的字符串右补空格,
当m小于等于实际字符串长度时,将按实际字符串输出。n用于指定输出左边n个字符,当n大于实际
字符串长度时,将按实际字符串输出。当m小于n时,忽略m的作用*/
%.ns /*用于输出字符串左边n个字符,当n大于实际字符串长度时,按实际字符串输出*/