新手学c,关于%d的一些问题

“%4d,表示的结果占4位及以上,原样输出;反之,在左边补空格,补满至4位 ”

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

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

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

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

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

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

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