在计算机c语言各种格式的输出结果中,printf("%2d\n",k)与printf("%6d\n",k)有什么区别?

(其中k为int型,值为1234)2d与6d分别是什么意思?输出结果有什么区别?由于是初学者,请详细叙述一下。

%d 整型数据输入输出格式字符串, d前面加数字,比如%2d,%6d,是指输入输出数字的位数。
具体:
%2d:以2位格式输出数据,不够2位,则数字前面补空格以补足2位,超过2位,则全部显示,比如要输出数字2,则输出结果为"_2","_"代表空格,如果想输出数字1234,则输入结果为“1234”。
%02d:如果理解了上面的格式,则这个格式更容易理解,0的意思是指不足2位,则用0补齐,而不是上面的空格,比如输入数字1,则输出结果为“01”,如果超过2位,则全部显示数字,不必补0.
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-01
2d是输出2个位数,但是当输出的数字多于2时就按原数输出就像k=1234,位数超过2,则全部输出即1234,如k=1,则输出的就是“空格键 1”
-6d是输出6个位数,k=1234,位数没超过6,则输出“1234 空格键 空格键
6d是输出6个位数,k=1234,位数没超过6,则输出“空格键 空格键1234 ”
和上面回答的有点小区别,好像他的是错的!追问

那如果是printf("%d\n",k)呢?该如何理解??

追答

就和这个 “2d是输出2个位数,但是当输出的数字多于2时就按原数输出就像k=1234”一样了输出的结果。只是在输出的时候如果k=345的话 printf("%d\n",k)这个输出的是
345
press……
而printf("%d",k)输入的是
345press……
这个就是请任意输出的那个英语句子在下一行了!

本回答被提问者采纳
第2个回答  2011-05-20
2d是输出2个位数,k=1234,位数超过2,则全部输出即1234
6d是输出6个位数,k=1234,位数没超过6,则输出“1234 空格键 空格键”
-6d是输出6个位数,k=1234,位数没超过6,则输出“空格键 空格键1234 ”
第3个回答  2017-09-19
%nd中的n表示输出宽度。
即输出占几个字符。
%2d就是2个字符。 %6d是6个字符。
不足的会补空格,超过则按实际宽度输出。
第4个回答  2011-05-20
1.%d %2d %6d 表示都是以十进制的形式 输出,但是是有区别的;
2.%d 输出的数字 占一个字符的位置;
3.%2d 输出的数字占 二个字符的位置;
4.%6d 输出的数字占六个字符的位置;

举例说明:假设 k = 2;则输出结果分别为:
2
*2
*****2
相似回答