C语言中%-4d%是什么意思

printf("%-4d%,%4d\n",a,a),是指保留百分号的意思吗

这些是用于格式化输出语句中的格式化字符串。

C语言的格式化输出语句包括printf, sprintf, wsprintf, vsprintf, vprintf, fprintf等,在这类函数调用时,都会传一个格式化字符串,其中可以包含各种格式化字符。每种对应一类变量类型。

%d对应整型(int),即当格式化字符串中出现了%d时,后续的参数对应位置应为int型变量,如果不是,将会强制转换为int型。

于是%d的功能就是输出一个整型的数值。

%nd的形式,其中n为一个数字,比如%4d,%5d等,代表输出占用n个字节的空间。

当实际输出数字需要的空间大于n时,以实际空间为准。否则输出n个字节空间,不足部分用空格在左侧补齐。


比如

printf("%4d", 12);

会输出

  12

即先输出两个空格,再输出12。


而如果是printf("%4d", 12345);

由于12345占五位,超过了4的限制,所以会输出本身值12345,没有任何空格填补。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-03
在printf("%-4d%,%4d\n",a,a);中,"%-4d%"后面的%符号会被忽略,什么也不会输出,比如:
int a=10;
printf("%-4d%,%4d\n",a,a);
的结果是10 , 10
要输出字符%,需要改为printf("%-4d%%,%4d\n",a,a);本回答被提问者和网友采纳
第2个回答  2013-10-19
d(或i)格式符。用来输出十进制整数,有以下几种用法:
①%d,按整型数据的实际长度输出。
②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
③%ld(%mld 也可),输出长整型数据。
第3个回答  2013-10-19
格式控制,指输出数据的格式,例%d是以十进制格式输出,%c是以字符形式输出。
这里的%4d,%5d都是指以十进制形式输出。中间的4和5说明输出数据的宽度,例如果输出的数据位123456,则当时%4d时,输出1234,%5d时输出12345.
第4个回答  2013-10-20
表示输出的有效位数不同,前者输出占4列,后者5列。未达到的数在左端补空格输出,超过列数,原样输出。比如:输出的是5,前者的样子是 5,后者的样子是 5;若输出500000,则都是输出500000
相似回答