C语言:%4d是什么意思

如题,谢谢

%4d的意思就是输出4位长的整数字符。%4d属于C语言中的格式字符,用来输出十进制整数。%md,m为指定的输出字段的宽度。

c语言中数据的宽度是从右边开始算起的,比如%4d就表示数据宽度为4,不够的那空格来补,如果超出四位,则应该原型输出。

扩展资料:

C语言输入输出时的规则:

一、格式说明符个数与输入数据个数不相等的情况:

当我们输入数据时,只要没有按回车键,所输入的数据都还存放在缓冲区,并没有存入变量中。按【Enter】键后,scanf()函数才会从缓冲区中取走数据。缓冲区是一个先进先出的队列,即取走数据的时候,遵循先输入的数据先取走的原则。

scanf函数的格式说明符有几个就要取几次数据,只要碰到格式说明符就必须把数据取走,至于是不是要把取走的数据存放起来,就得看数据列表中的数据个数。没取完的数据继续留在缓冲区中。

二、宽度输出的情况:

1、在%和格式字符之间加入一个整数来控制输出数据所占宽度

2、在%和格式字符f之间加入一个“整数1. 整数2”来控制输出数据的格式。

整数1:整个输出数据占的总宽度

整数2:输出实数的小数部分的个数

注意:先用整数2处理小数部分,再用整数1处理整个数据,包括已处理好的小数部分

三、宽度输入的情况:

宽度输入指的是在%和格式说明符d之间加入一个整数。如:scanf("%2d", &x);

注意:

1、%d与%1d是不同的,它们具有不同的含义。

2、 当宽度小于数据的实际宽度时,截取指定宽度的部分作为一个数进入缓冲区,再将剩余部分作为另一个数放入缓冲区。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-30
%d 是按你的数据的实际长度输出,而%md 是输出m位宽度的数据,不够用空格补充,太长则输出全部。
其的也有%m.nf 是输出实数,总共m位,n位小数。本回答被提问者和网友采纳
第2个回答  2009-03-20
4代表输出最小宽度,若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
d代表以十进制形式输出带符号整数(正数不输出符号)
第3个回答  2009-03-20
在输出函数中用于控制输出整数的格式,它的意思是,十进制的整数,占4个位置。不足补空格。
第4个回答  2009-03-20
LZ少了点东西吧..%是双目运算符..怎么会只有一边呢..正常是%的用法是 "A%B" 意思是"取A除以B后的余数."
相似回答