1. 输出格式控制字符
%d(%i) 十进制带符号整数,正数不输出符号;
%ld 十进制长整型输出;
%c 输出单个字符,参数为字符 char;
%s 输出字符串,参数为 char 指针,显示字符串中所有字符,直到计算机找到 '\0' 停止;
%e 输出浮点数,以指数形式输出单、双精度实数,默认 6 位小数;
%f 输出浮点数,以小数形式输出单、双精度实数,默认 6 位小数;
%g 在f和e之间选择一个较短格式输出,不输出无意义的 0;
%f和%g 与带小数点的数字匹配,例如 5.7f
%lf和%lg 与带小数点的数字匹配,例如 5.7
%u 以十进制输出无符号整数;
%o 无符号八进制整数,不输出前缀 0 ;
%x 无符号十六进制整数;
%p 输出地址,按十六进制格式输出,前面自动加前缀 0x;
%02d 输出:06 形式
%*d 由参数指定输入位数,不够补空格
%#x 和 %p 效果一样;
%#o 在输出的八进制格式前加前缀 0;
2. printf("%-03d", a); // "-"指左对齐,省略指右对齐,"3"指保留三位,不够补零。
printf("%2.4f", a);
输出两位数,十位不足补零:printf("%02d", value)
3. %i 和 %d, 在 printf 里面没区别,
但在 scanf 里面有区别:%d 只匹配十进制,%i 可以匹配八进制、十进制、十六进制。
"%"输出方法:%%;
scanf里面,%e, %f, %g 可以互换;
scanf("r = %d", &r); // 那么输入的时候应该输入:r = 20 (输入的时候是否带空格都可以)
%d(%i) 十进制带符号整数,正数不输出符号;
%ld 十进制长整型输出;
%c 输出单个字符,参数为字符 char;
%s 输出字符串,参数为 char 指针,显示字符串中所有字符,直到计算机找到 '\0' 停止;
%e 输出浮点数,以指数形式输出单、双精度实数,默认 6 位小数;
%f 输出浮点数,以小数形式输出单、双精度实数,默认 6 位小数;
%g 在f和e之间选择一个较短格式输出,不输出无意义的 0;
%f和%g 与带小数点的数字匹配,例如 5.7f
%lf和%lg 与带小数点的数字匹配,例如 5.7
%u 以十进制输出无符号整数;
%o 无符号八进制整数,不输出前缀 0 ;
%x 无符号十六进制整数;
%p 输出地址,按十六进制格式输出,前面自动加前缀 0x;
%02d 输出:06 形式
%*d 由参数指定输入位数,不够补空格
%#x 和 %p 效果一样;
%#o 在输出的八进制格式前加前缀 0;
2. printf("%-03d", a); // "-"指左对齐,省略指右对齐,"3"指保留三位,不够补零。
printf("%2.4f", a);
输出两位数,十位不足补零:printf("%02d", value)
3. %i 和 %d, 在 printf 里面没区别,
但在 scanf 里面有区别:%d 只匹配十进制,%i 可以匹配八进制、十进制、十六进制。
"%"输出方法:%%;
scanf里面,%e, %f, %g 可以互换;
scanf("r = %d", &r); // 那么输入的时候应该输入:r = 20 (输入的时候是否带空格都可以)