发布网友 发布时间:2022-04-24 11:47
共5个回答
热心网友 时间:2023-10-11 17:42
%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、 当宽度小于数据的实际宽度时,截取指定宽度的部分作为一个数进入缓冲区,再将剩余部分作为另一个数放入缓冲区。
热心网友 时间:2023-10-11 17:42
%d 是按你的数据的实际长度输出,而%md 是输出m位宽度的数据,不够用空格补充,太长则输出全部。
其的也有%m.nf 是输出实数,总共m位,n位小数。
热心网友 时间:2023-10-11 17:43
4代表输出最小宽度,若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
d代表以十进制形式输出带符号整数(正数不输出符号)
热心网友 时间:2023-10-11 17:44
在输出函数中用于控制输出整数的格式,它的意思是,十进制的整数,占4个位置。不足补空格。
热心网友 时间:2023-10-11 17:44
LZ少了点东西吧..%是双目运算符..怎么会只有一边呢..正常是%的用法是 "A%B" 意思是"取A除以B后的余数."