【C语言】格式化输入printf输出scanf


输出printf

%[flags][width][.prec][hIL]type

[flag]
在这里插入图片描述

printf("%7d\n",123);//右对齐
printf("%-7\n",123);//左对齐

输出:
    123 (前面有四个空格,总共占七个字符)
123
printf("%+7d\n",123);
printf("%-7d\n",123);
printf("%-+7d\n",123);
printf("%+-7d\n",123);
printf("%-+7d\n",-123);
printf("%-7d\n",-123);

输出:
   +123 (前面有三个空格,包括+号一共占七个字符)
123
+123
+123
-123
-123
printf("%07d\n",123);//前面填充0
printf("%-7d\n",123);//左对齐没有地方填充0了

输出:
0000123
123

[width] 或 [prec]
在这里插入图片描述

printf("%7.2f\n",123.0);
//表示输出的浮点数有9个字符(包括空格小数点等符号),2位小数

输出:
 123.00 (前面有一个空格占一位,总共有七位字符)
printf("%*d\n",6,123);
//表示6填到*号位置,123用来满足%d

输出:
   123 (前面有三个空格占三位)

[hIL]

在这里插入图片描述

type

在这里插入图片描述

//%n的使用:
//%n表示到它所在的位置之前已经输出了多少个字符,赋给后面指针所指的那个变量里面去

printf("%d%n\n",12345,&num);
printf("%d\n",num);

输出:
12345
5

printf("%dabc%n\n",12345,&num);
printf("%d\n",num);

输出:
12345abc
8

输入scanf

%[flag]type

[flag]
在这里插入图片描述

//*号的含义是跳过
scanf("%*d%d",&num);
printf("%d\n",num);

输入:
123 456
输出:
456

type

在这里插入图片描述

//%i可以将十进制、八进制、十六进制的整数以十进制的形式输出
scanf("%i",&num);
printf("%d\n",num);

输入:123
输出:123

输入:0x12 (十六进制)
输出:18

输入:012 (八进制)
输出:10

printf和scanf的返回值

printf的返回值是读入的项目数
scanf的返回值是输出的字符数

int i1=scanf("%i",&num);
int i2=printf("%d\n",num);
printf("%d %d",i1,i2);

输入:1234
输出:
1234  //第二行的输出
1 5  //i1=1代表有一个1234,i2=5代表有五个字符数(包括“”中后面的\n)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值