c语言中,%2d之类的表示什么意思

如题所述

%3d 表示输出3位整型数, 不够3位右对齐。%2d 表示输出2位整型数, 不够2位右对齐。

格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,用来确定输出内容格式。在"%"和字母之间插进数字表示最大场宽。

比如%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为7,小数点占一位, 不够9位右对齐。

%8s表示输出8个字符的字符串, 不够8个字符右对齐。如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。

扩展资料:

printf()函数一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("<式样化字符串>",<参数表>);

其中式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%"开端, 后跟一个或几个规定字符, 用来确定输出内容式样。 

参量表是需求输出的一系列参数, 其个数务必与式样化字符串所阐明的输出参数个数一样多, 各参数之间用","分开, 且顺序逐一对应, 不然将会出现意想不到的过失。

注意:函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。

参考资料:

百度百科-printf

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-06
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个回答  2014-12-14
按照十进制输出宽度追问

什么意思?具体点

追答

就是输出字款2位数 你打印一个一位数和两位数 你就知道区别了 上机实践才能看出区别

追问

就是没有电脑才会这样~

追答

啊?学语言没有电脑咋实践呢

这样可不行 我们都是一步一步实践过来的 想可不行

第3个回答  2014-12-14
表示是2位的整数~~追问

和这个类似的呢6.2d 4d

追答

那个2是指小数点位数

像前面的数字表示的是你输出数所占内存的总长度~~

追问

一个长度指字节?

8个字节?

第4个回答  2019-08-19
%d格式显示整数,在%和d之间写入数值,表示该数值为整数在屏幕上显示时所占的字符位数。
相似回答