2 horbyn4zz Horbyn4zZ 于 2017.01.14 12:42 提问

新手学c,关于%d的一些问题
“%4d,表示的结果占4位及以上,原样输出;反之,在左边补空格,补满至4位 ”

我想问,第一个问题:整型不是占4个字节吗,可以%4d那可以%5d 8d…吗?
第二个问题:%4d表示的结果占4位及以上,原样输出。这句话我看的有点迷糊,占4位原样输出我能理解,那“及以上”也原样输出…,如果5位不是不够位数了吗,还怎么原样输出阿。。?

5个回答

qq_36790578
qq_36790578   2017.01.14 13:56
已采纳

字节是指占据四个字节的内存,输出是按字符计算的
输出至少4位,少于四位,左边补空格,多与四位,原样输出
12345输出照样是12345
123是空格123

Horbyn4zZ
Horbyn4zZ 12345输出:空格123这样吗?
11 个月之前 回复
weixin_36514754
weixin_36514754   2017.01.14 21:24

这里的4d的意思是占有4个字符,跟整数占有4个btye是两个概念

a29562268
a29562268   2017.01.14 13:51

在不够的位数前补0,比如%5d,数字是123,输出为00123

jhcconan614
jhcconan614   2017.01.16 22:00

这里的4位表示4位数,如果输出的是1,那么在1的前面添加三个空格,如果输出的是10,那么在10的前面添加两个空格……如果是1000(四位数),那就直接输出,大于至于四位数以上的也是直接输出,

至于说,把4改成5或者8都是可以的,不同的是空格的数量……

jhcconan614
jhcconan614 要是输出的数是10000(五位数),还用%4d,输出的还是10000
11 个月之前 回复
Horbyn4zZ
Horbyn4zZ 大于四位数那怎么输出阿,举个例子呗
11 个月之前 回复
w_linux
w_linux   2017.01.20 19:02

整型占四个内存指内存,你是看不出啥变化,而这里4d8d什么的指数字指空格

Csdn user default icon
上传中...
上传图片
插入图片