请问 第14课 视频教程中 %-2d 什么意思
查了下 %2d 是前面 加两个空格 前面用两个空格补位么?%0.2d 是前面加两个0用0补位对么?
%-2d 是什么 也是空格补位?是两个空格么? 屁哥 发表于 2017-8-12 16:55
举个栗子呗谢谢
#include <stdio.h>
int main(void)
{
int a;
printf("请输入一个整数:");
scanf("%d",&a);
printf("2d格式 :%2d\n", a);
printf("02d格式:%02d\n", a);
printf("-2d格式:%-2d\n", a);
return 0;
}
如果位数大于等于你输出的要求就没有什么左右对其和加0了。 本帖最后由 丶忘却的年少o 于 2017-8-12 18:57 编辑
%2d:就是右对齐。以宽度2输出整型数,不足2时,左补空格。比如12,输出就是12;2输出就是 2(有空格)
%-2d:就是左对齐。以宽度2输出整型数,不足2时,右补空格。比如12,输出就是12;2输出就是2 (有空格)
%0.2d:好像没这个说法,应该是%02d。以宽度2输出整型数,不足2时,左补0。比如12,输出就是12;2输出就是02{:10_256:} 丶忘却的年少o 发表于 2017-8-12 16:39
%2d:就是左对齐。以宽度2输出整型数,不足2时,左补空格。比如12,输出就是12;2输出就是 2(有空格)
%-2d ...
举个栗子呗谢谢 说错了,%2d和%02d是右对齐,%-2d才是左对齐。其实你按照图片中的程序,加2条打印把输出的格式用这三个分别打印看看,就知道了。我现在没办法打代码,不好意思 分析这个的过程是这样的。
首先看%d,就是说以整型输出。 那么夹在%d中的全是辅助功能符,我们接着看。
1. % 2 d,中间夹了个2,就是说我输出的这个整型,占2个字符的宽度,右对齐。
可以看到我用了一个%2d, 一个%3d,一个宽度是2个字符,一个宽度是3个字符,因为是右对齐的,所以第一个5前面补1个字符以达到宽度为2,第二个5前面补2个空格,以达到宽度3.
2. %0.2d, 我觉得你可能是看错了,因为是%d整型输出,就是没有小数点的。其实应该是%02d,依然是右对齐。其中0的意思是以0填充,(上面的例子里用的是空格符填充),2的意思同上,是宽度的意思。
你看我把 %0.4d 里面的小数点删掉了,结果还是一样的。因为%d是整型输出,不带小数部分,你规定小数点格式是无效的。
3.有小数点的正确使用应该是 % . 2f,按照我前面说的分析方式,首先看到是%f,定点小数格式输出。 这里辅助功能符(%f中间夹的部分),m.n或者.n这样的形式,小数部分是几,结果就保留几位小数(四舍五入),整数部分就像上面两例一样,% 08.2 f,表示右对齐,宽度为8,填充0(没有8前面的0就是用空格填充)以补够8个字符宽度,.2表示保留两位小数
4. 如果加了 - 号, 那么就是上面说的右对齐部分改成左对齐,就是你要输出的数字会在它限定的宽度内靠左边,上面的例子里面我们说用空格或者0填充,都是填在左边,数字在靠右的位置,而加了负号以后,就是相反。但是注意,既然数字出现在左边了,那么右边填充0就会改变数字大小,所以Python会忽略左对齐补0
丶忘却的年少o 发表于 2017-8-12 17:04
说错了,%2d和%02d是右对齐,%-2d才是左对齐。其实你按照图片中的程序,加2条打印把输出的格式用这三个分别 ...
好嘞我试试
页:
[1]