继续请教--->关于printf()的输出问题
#include <stdio.h>
main()
{
int i,j;
for(i=1,j=8;i<12;i+=2,j++)
printf("%*s",j,"***********\n"+(11-i));
getch();
}
这是输出金字塔的程序,crakerwang高手解释如下:
printf("%*s",n,"********"+(m))
n控制的是输出的宽度,m控制的是从左边数起的不显示的字符个数
比如printf("%*s",n,"abcdefgh"+(m))
那么输出的应该是10个宽度,不足的用空格表示,后面的*从左边数起有两个不显示所以输出应该是:
(4个空格)cdefgh
但我还是没有弄明白-->>
1、格式符中无*,而这里有,如何使用?..%*S
2、+又是如何使用来控制宽度的?教材上好像都没有说啊,晕了,再请来高手帮详细解释下此段程序,越详细越好,谢谢!
[此贴子已经被作者于2007-4-12 11:18:56编辑过]