关于C语言printf 的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:13:55
printf("%4d",a);
如果上句中的4,是我通过运算得出的,比如是num=Length/perLength,请问我怎么可以让上句的printf指定的输出字段宽度为num?

有高人知道怎么办么,小弟在此谢谢了!

用printf("%*d",num,a); 即可。printf在执行时会用num的值来代替星号。

你的说法应该是num肯定比a的位数大吧。所以可以先用itoa()函数把a转换成字符串,然后用strlen()函数计算a的位数b,然后用把某个字符型指针*c赋(b-a)个空格,
最后输出语句为:
printf(\"%d\",a);
printf(\"%s\",*c);
这样就可以了,虽然有点繁琐。