printf()*的修饰符的使用

问题提出:

如果有一个问题,输入n,要求输出一个小数,保留小数点后n位。(用C写),此时可以用printf() * 的修饰符来解决这个问题。


以下代码表明这个工作原理:(来自C primer PULS)

#include<stdio.h>

int main()
{
	unsigned width,precision;
	int number = 256;
	double weight = 242.5;
	
	printf("What filed width?\n");
	scanf("%d",&width);
	printf("The number is:%*d:\n",width,number);
	printf("Now enter a width and a precision:\n");
	scanf("%d %d",&width,&precision);
	printf("Weight=%*.*f\n",width,precision,weight);
	
	return 0;
}

变量width提供字符宽度,而number就是要打印的数字。因为在说明符中*在d前面,所以在printf()的参数列表中
width在number前面。同样,width和precision共同提供来打印weight的格式化信息。下面是运行的结果:
What filed width?
6
The number is:   256:
Now enter a width and a precision:
8 3
Weight= 242.500


--------------------------------

第一个答案是6,所以6就是所用的字段宽度。与之类似,第二个答案指示字段宽度为8,并且小数点右边有3位数字,由precious来决定。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值