c语言中%md中的m,在printf和scanf中有什么不同?

一、 printf 是输出语句,%md 表示输出的宽为m位。但另有附加规定:当所给宽度不足(即m<要输出数字的实际宽度)时,忽略m,原样输出要输出的值。
理解下面的代码加深对printf语句中宽度修饰符m的理解:
在这里插入图片描述

二、scanf 是输入语句,%md 表示读入的数为m位整数,超出m位只读m位,不足m位则按实际位数读入。
对于如下代码:(其中m=3)

#include<stdio.h>
int main()
{
	int a;
	scanf("%3d",&a);	
	printf("a=%d\n",a);
    return 0;
 }

当输入两位数12时,输出:
在这里插入图片描述
即2<m,原样输出。

当输出四位数1234时,输出:
在这里插入图片描述
即4>m,输出m的位数。

  • 29
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hudie.

不要打赏!不要打赏!不要打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值