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

如题所述

你好:%d是c语言的格式控制符意思是让输入输出函数接收一个整形数据,
%-2d:负号表示左对齐,比如:
1 2 3
右对齐:
1 2 3
2表示当接收的整形数据长度少于2时就在右边补空格对其
比如
printf("%-2d",100);将输出:100
printf("%-6d",100);将输出: 100
-物联网校企联盟技术部
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-26
scanf和printf都会有%3.2d之类的数字
scanf和printf的输入输出的 scanf的输入可以限制域宽,就是输入字符的宽度,但是不能限制后面的小数位数,直接是禁止这种写法的,规定这种写法是错误的,,否则程序可能会出错,,,然而printf相反,他能限制输出的后面的小数,却不能限制输出的域宽,最多在空的地方加个空格而已

如果是scanf,因为c语言中禁止限制输入的时候的小数的位数,所以只能限制输入的字符的宽度
scanf(“%3f”,a);
printf(“%2.2f”,a);
如果输入的数是12345
那么,scanf取到的数据是123,后面的位数不起作用的,所以45没了
取到了123之后
再用printf输出的数应该是三位,但是限制的域宽是2位,这样的话,会损坏数据,所以限制不起作用,输出的是123.00
够明白了,估计老师也讲不了这么明白
第2个回答  2020-03-24
数字:表示字符所占空间,d:表示十进制数。
%d
:表示输出数字。%3d:
表示输出占用3个字符的空间。
例如:
int
a=111;
printf("%5d",a)
答案:
空格空格111
第3个回答  2018-03-07

M        %md    以宽度m输出整型数,不足m时,左补空格 


0m       %0md   以宽度m输出整型数,不足m时,左补零 


m,n      %m.nf  以宽度m输出实型小数,小数位为n位

例如:设i = 123,a = 12.34567,


则:
printf("%4d +++ %5.2f",i,a);


输出: 123 +++ 12.35


printf("%2d +++ %2.1f",i,a ) ;
输出:
123 +++ 12.3

本回答被网友采纳
第4个回答  2020-02-20
数字:表示字符所占空间,d:表示十进制数。
%d
:表示输出数字。%3d:
表示输出占用3个字符的空间。
例如:
int
a=111;
printf("%5d",a)
答案:
空格空格111
相似回答