格式字符 | 功能说明 |
%d,%i | 用来输出有符号的十进制整数 |
%u | 用来输出无符号的十进制整数 |
%o | 用来输出无符号的八进制整数 |
%x,%X | 用来输出无符号的十六进制整数。 对于printf函数,x和X输出的大小写不同。对于scanf函数,大小写咋没有区别。 |
%c | 用来输出单个字符 |
%s | 用来输出字符串 |
%f | 用来输出实数,以小数形式输出 |
%e,%E | 用来输出实数,以指数形式输出 |
%g,%G | 以%f或%e中宽度较短的格式输出,不输出无意义的0 |
%p | 用来输出一个指针,或者说是地址 |
printf函数的附加格式说明字符
附加字符 | 功能说明 |
l | 用于输出长整型整数,可加在d、o、x、u的字母前面 |
m | 用于指定输出数据的字段宽度,数字或字符在域内向右对齐 |
n | 对实数,表示输出n位小数;对字符串,表示截取的字符个数 |
- | 用于指定输出的数字或字符在域内向左对齐 |
说明:m和n并不是具体的m和n两个字母,实际上是数值。
#include<stdio.h>
int main()
{
long iLong=100000; /*定义长整型变量,为其赋值*/
printf("the Long is %ld\n",iLong); /*输出长整型变量*/
printf("the string is: %sKeJi\n","MingRi"); /*输出字符串*/
printf("the string is: %10sKeJi\n"," MingRi"); /*使用10控制输出列*/
printf("the string is: %-10sKeJi\n"," MingRi"); /*使用-表示向左靠拢*/
printf("the string is: %10.3sKeJi\n"," MingRi"); /*使用3表示取字符数*/
printf("the string is: %-10.3sKeJi\n"," MingRi");
return 0;
}
例如%10.3中,10就是m,3就是n。
scanf函数的附加格式说明字符
附加字符 | 功能说明 |
l | 用于输入长整型整数,可加在d、o、x、u的字母前面以及double型数据,如lf、le |
h | 用于输入短整型数据 |
n | 用于指定输入数据的字段宽度,多余的数据将被忽略 |
* | 表示指定的输入项在读入后不赋给相应的变量 |
#include<stdio.h>
int main()
{
int a = 0, b = 0;
scanf("%2d%*4s%2d", &a, &b);
printf("%d,%d", a, b);
return 0;
}
输入:123456789
输出:12,78