永发信息网

c语言中,%d和%4d有什么区别

答案:4  悬赏:20  手机版
解决时间 2021-04-01 03:45
  • 提问者网友:饥饿走向夜
  • 2021-03-31 11:34
c语言中,%d和%4d有什么区别
最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-03-31 12:04
%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位,按实际位数输出)
全部回答
  • 1楼网友:北城痞子
  • 2021-03-31 14:19
那个4的作用是指出数据宽度(含小数点),若宽度不够,则按实际数据输出
  • 2楼网友:街头电车
  • 2021-03-31 13:48
#include "stdio.h"
void main()
{
printf("%d\n%4d\n",1,1);
printf("%d\n%4d\n",%d 是按你的数据的实际长度输出,而%md 是输出m位宽度的数据,不够用空格补充,太长则输出全部。
其的也有%m.nf 是输出实数,总共m位,n位小数。
  • 3楼网友:纵马山川剑自提
  • 2021-03-31 13:40
嗯,楼上两位高手讲得很详细啦
C语言中是右对齐的,超过宽度设置就正常输出
对了,补充一点就是浮点数输出可以控制小数点
float i ;
printf("%.3f",i) ;
就是输出有三位小数
在C++中,这样控制输出宽度用iosamp函数库的setw
C++的输入输出流可以去掉浮点数填充的0,自动设置宽度
而且C++的流返回的是流的引用,可以连续输出
例如: cout << i << ',' << j << endl ;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯