int a=1234; printf(“%2d”,a)为什么还是输出1234???不是12吗?

2025-06-21 13:44:44
推荐回答(4个)
回答1:

%2d这个格式控制的意义是,不超过两位整数时,按两位格式输出,整数超过两位时,原样输出,
你看a是 1234是四位数,所以原样输出,如果a是1的话,输出就应该是 1(注意1前面有个空格,用来补成两位)

回答2:

%2d表示输出的变量列宽为2。如果这里的列宽值小于实际变量列宽,输出时就会自动不全,即以实际为准。

回答3:

%nd:n为指定的输出字段的宽度。如果数据的位数小于n,则左端补以空格,若大于n,则按实际位数输出。

回答4:

%2d ,是右对齐,不够补空格,多了以实际长度输出
%-2d,左对齐