c语言中,%d和%4d有什么区别
6个回答
展开全部
%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位,按实际位数输出)
展开全部
%d 是按你的数据的实际长度输出,而%md 是输出m位宽度的数据,不够用空格补充,太长则输出全部。
其的也有%m.nf 是输出实数,总共m位,n位小数。
其的也有%m.nf 是输出实数,总共m位,n位小数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嗯,楼上两位高手讲得很详细啦
C语言中是右对齐的,超过宽度设置就正常输出
对了,补充一点就是浮点数输出可以控制小数点
float i ;
printf("%.3f",i) ;
就是输出有三位小数
在C++中,这样控制输出宽度用iosamp函数库的setw
C++的输入输出流可以去掉浮点数填充的0,自动设置宽度
而且C++的流返回的是流的引用,可以连续输出
例如: cout << i << ',' << j << endl ;
C语言中是右对齐的,超过宽度设置就正常输出
对了,补充一点就是浮点数输出可以控制小数点
float i ;
printf("%.3f",i) ;
就是输出有三位小数
在C++中,这样控制输出宽度用iosamp函数库的setw
C++的输入输出流可以去掉浮点数填充的0,自动设置宽度
而且C++的流返回的是流的引用,可以连续输出
例如: cout << i << ',' << j << endl ;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
不存在%5.2d形式啦!
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
不存在%5.2d形式啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
void main()
{
printf("%d\n%4d\n",1,1);
printf("%d\n%4d\n",11111,11111);
}
运行一下这个程序,应该就能理解了。
void main()
{
printf("%d\n%4d\n",1,1);
printf("%d\n%4d\n",11111,11111);
}
运行一下这个程序,应该就能理解了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询