c语言,不懂?

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:41:14
main( )
{ int x=12;
float a=3.14159;
printf("%5d##\n",x);
printf("%-5d##\n",x);
printf("%10.6f##\n",a);
printf("%-10.6f##\n",a);
getch();
}
上面的"%5d"是什么意思啊?

"%5d",表示按右对齐输出字符的最大宽度是5,不是最小!
比如说你的
printf("%5d##\n", x);
x等于12,输出的时候只占两个字符宽度,那么就会在前面补上3个空格,凑齐字符宽度5,如果你的x的值是123456,需要的字符宽度超出了5,那么输出的时候最高位上的1就显示不出来,因为你允许的最大字符输出宽度是5

printf("%-5d##\n", x);类似,只不过多了一个负号,表示输出的时候是靠左对齐的。允许的最大字符输出宽度也是5。

后面的
printf("%10.6f##\n",a);
小数点前面的10表示最大字符输出宽度(包括输出时的小数点在内),小数点后面的6表示输出的精度是6,就是说输出的数小数点后面有6位。输出靠右对齐。下面那个类似,输出靠左对齐。

这种格式化输出的,楼主应该自己多尝试,然后看结果,再结合书上的讲解。我们可能也解释不全的。

是输出最小宽度的意思,

getchar();好像是

就是个取地址符

%5d 代表的是字符输出的长度为五位

1.一个整型

2.长度为5

3.左对齐