输出格式控制
格式字符
- %d(decimal):以带符号十进制格式输出整数(正数不输出+)
- %i(integer):以带符号十进制格式输出整数(正数不输出+)
- %o(octal):以八进制无符号格式输出整数(不输出前导符0)
- %x或%X(hexadecimal):以十六进制无符号格式输出整数(不输出前导符0x或0X,a~f 大小写与x大小写一致)
- %u(unsigned):以无符号十进制格式输出整数(不输出+)
- %c或%C(char):以ascii字符格式输出字符
- %s(string):输出字符串,遇空字符'\0'结束
- %f(float):以小数格式输出浮点数,默认输出6位小数(四舍五入)
- %e或%E(exponential):以指数格式输出浮点数,整数部分占1位,默认输出6位小数(四舍五入),指数部分占5位,e(E)指数指示符1位,+(-)符号位1位,指数值3位
- %g或%G:自动选用%f或%e格式中输出宽度较短的格式,不输出无意义的0,最多输出6位有效数字,选择%e时,%g = %e,%G = %E
- %p(pointer):以十六进制无符号格式输出指针值(是否输出前导符0x或0X依赖编译器,前导0也输出)
格式字符修饰符
- l或L(long):长整型,可修饰整型格式字符,包括%d,%i,%o,%x或%X,%u
- m:输出数据最小宽度,默认按实际宽度输出,实际宽度大于m时,按实际宽度输出,实际宽度小于m时,补空格字符至宽度m
- .n:对于浮点数,截取n位小数,截断时四舍五入,对于字符串,截取字符个数,n小于浮点数实际小数位或小于字符串实际宽度时才有效
- -:输出字符向左靠,默认向右靠,向左靠时补后导空格字符,向右靠时补前导空格字符
注:格式字符串中输出%用%%表示
输入格式控制(no check)
格式字符
- %d(decimal):以带符号十进制格式输出整数(正数不输出+)
- %i(integer):以带符号十进制格式输出整数(正数不输出+)
- %o(octal):以八进制无符号格式输出整数(不输出前导符0)
- %x或%X(hexadecimal):以十六进制无符号格式输出整数(不输出前导符0x或0X,a~f 大小写与x大小写一致)
- %u(unsigned):以无符号十进制格式输出整数(不输出+)
- %c或%C(char):以ascii字符格式输出字符
- %s(string):输出字符串,遇空字符'\0'结束
- %f(float):以小数格式输出浮点数,默认输出6位小数(四舍五入)
- %e或%E(exponential):以指数格式输出浮点数,整数部分占1位,默认输出6位小数(四舍五入),指数部分占5位,e(E)指数指示符1位,+(-)符号位1位,指数值3位
- %g或%G:自动选用%f或%e格式中输出宽度较短的格式,不输出无意义的0,最多输出6位有效数字,选择%e时,%g = %e,%G = %E
- %p(pointer):以十六进制无符号格式输出指针值(是否输出前导符0x或0X依赖编译器,前导0也输出)
格式字符修饰符
- l或L(long):长整型,可修饰整型格式字符,包括%d,%i,%o,%x或%X,%u
- m:输出数据最小宽度,默认按实际宽度输出,实际宽度大于m时,按实际宽度输出,实际宽度小于m时,补空格字符至宽度m
- .n:对于浮点数,截取n位小数,截断时四舍五入,对于字符串,截取字符个数,n小于浮点数实际小数位或小于字符串实际宽度时才有效
- -:输出字符向左靠,默认向右靠,向左靠时补后导空格字符,向右靠时补前导空格字符