鱼子酱怎么做好吃:c语言中,%d和%4d有什么区别

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 01:27:31

%d和%4d都是C语言中标准输入函数(scanf)和输出函数(printf)的输入输出格式说明符。


下面举例说明%d和%4d的用法与区别。

int i, j;
scanf("%d%4d",&i,&j);  // 接收用户输入的数据,对一个数据保存在i中,第二个保存在j中,对于第一个数据没什么限制,第二个数据取前四位(如输入12345,但是j=1234)

printf("%d%4d",i,j);  // 分别输出i和j的值,i的值输出按原样输出,对于j就是按4位的固定位宽输出(不足4位,在前面补空格;超过4位,按实际位数输出)

嗯,楼上两位高手讲得很详细啦
C语言中是右对齐的,超过宽度设置就正常输出
对了,补充一点就是浮点数输出可以控制小数点
float i ;
printf("%.3f",i) ;
就是输出有三位小数

在C++中,这样控制输出宽度用iosamp函数库的setw
C++的输入输出流可以去掉浮点数填充的0,自动设置宽度
而且C++的流返回的是流的引用,可以连续输出
例如: cout << i << ',' << j << endl ;

%d 是按你的数据的实际长度输出,而%md 是输出m位宽度的数据,不够用空格补充,太长则输出全部。
其的也有%m.nf 是输出实数,总共m位,n位小数。

#include "stdio.h"
void main()
{
printf("%d\n%4d\n",1,1);
printf("%d\n%4d\n",11111,11111);
}

运行一下这个程序,应该就能理解了。

那个4的作用是指出数据宽度(含小数点),若宽度不够,则按实际数据输出