-:左对齐 +:在前边放+或- (space):正数留空 0:用0填充
#include <stdio.h>int main(int argc, const char *argv){ printf("%9d/n", 123); // 123 占9位,右对齐,123前边补6个空格 printf("%-9d/n", 123); //123 printf("%+9d/n", 123); // +123 占9位,右对齐,+123前边补5个空格 printf("%+-9d/n", 123);//+123 printf("%-+9d/n", 123);//+123 printf("%-+9d/n",-123);//-123 printf("%09d/n", 123);//000000123 printf("%-09d/n",-123);//-123 return 0;}number:最小字符数 *:下一个参数是字符数 .number:小数点后的数位 .*:下一个参数是小数点后的位数
#include <stdio.h>int main(int argc, const char *argv){ printf("%*d/n", 6, 123);// 123 相当于%6d,占6位,123前加3个空格 printf("%9.2f/n", 123.4);// 123.40 return 0;}hh:单个字节 h:short l:long ll:long long L:long double
#include <stdio.h>int main(int argc, const char **argv){ printf("%hhd/n", (char)12345); //57 printf("%9.2f/n", 123.4);// 123.40 占9位,123.40前加3个空格 return 0;}i或d:int u:unsigned int g或G:float o:八进制 a或A:十六进制浮点数 x:字母小写的十六进制 X:字母大写的十六进制 c:char s:字符串 p:指针 f或F:默认显示6位小数的float e或E:指数 n:读入/写出的个数
*:跳过 数字:最大字符数 hh:char h:short l:long,double ll:long long L:long double
#include<stdio.h>int main(){ int num; scanf("%d", &num); printf("%d/n", num); return 0;}d:int s:字符串 i:整数,可能为十六进制或八进制 u:unsigned int o:八进制 x:十六进制 a,e,f,g:float c:char […]:所允许的字符 p:指针
#include<stdio.h>int main(int argc, const char *argv){ int num; scanf("%i", &num);//输入 0x12 printf("%d/n", num);//输出18 return 0;}新闻热点
疑难解答