有关 字段宽度的小问题
#include<stdio.h>
#define PAGES 931
int main(void)
{
printf("*%d*\n",PAGES);
printf("*%4d*\n",PAGES);
printf("*%10d*\n",PAGES);
printf("*-10d*\n",PAGES);
return 0;
}
结果是
*931*
* 931*
* 931*
*-10d*
首先。。。 在原结果 *931* 是5个宽度。
在第二个printf中 声明了 是4个宽度。。
为什么结果是 * 931* ?/这不是6个宽度。。。
还请哪个大哥解释下。。。。
有种做老师的感觉
[解决办法]
在跑之前先学会走。
在想着自己想的东西之前,先把printf的文档好好看明白,你想的那个需求,是需要自己额外写代码的。
[解决办法]
这么说吧,其实后面的参数是用来替代前面的%d的。所以%d所做的格式控制也仅对参数有效。