printf函数中*修饰符的作用,如:%*d
在printf函数中,我们可以用数字修饰来控制打印的字段宽度和精度,如下(为强调视觉效果,均填充0):
#include <stdio.h>
int main()
{
int i=;
float f=2.4;
printf("%04d\n",i);
printf("%06.2f",f);
return ;
}
运行如下:
002.40
我们用*修饰也可以达到这样的效果,如下:
#include <stdio.h>
int main()
{
int i=;
float f=2.4;
printf("%0*d\n",,i);
printf("%0*.*f",,,f);
return ;
}
运行后与上面一致。简单来说,*修饰符通过按顺序读取printf函数中的参数,等效替换成数字后控制打印。
如此,我们就可以声明一个变量,运行时让用户赋值,通过*修饰符让变量控制打印,交互感更强,如下:
#include <stdio.h>
int main()
{
float f=2.4;
int width,precision;
printf("请输入打印字段宽度与精度:");
scanf("%d%d",&width,&precision);
printf("%0*.*f",width,precision,f);
return ;
}
运行时就可以自定义打印宽度与精度:
请输入打印字段宽度与精度:
002.4000
注意:*可以接受的参数尽量为无符号整型,与数字修饰时保持一致,如其他类型,可能会发生转换,也可能发生错误。
printf函数中*修饰符的作用,如:%*d的更多相关文章
- scanf函数中*修饰符的作用,如:%*d
		在scanf函数中,*修饰符可以跳过所在项的输入.如下: #include <stdio.h> int main() { ; printf("请输入:"); scanf ... 
- Python中@修饰符的作用。
		'@'符号用作函数修饰符是python2.4新增加的功能,修饰符必须出现在函数定义前一行,不允许和函数定义在同一行.也就是说@A def f(): 是非法的. 只可以在模块或类定义层内对函数进行修饰, ... 
- transient修饰符的作用
		transient修饰符的作用: entity实体类: package com.baidu.entity; import com.fasterxml.jackson.annotation.JsonIg ... 
- python中的修饰符@的作用
		1.一层修饰符 1)简单版,编译即实现 在一个函数上面添加修饰符 @另一个函数名 的作用是将这个修饰符下面的函数作为该修饰符函数的参数传入,作用可以有比如你想要在函数前面添加记录时间的代码,这样每个函 ... 
- JAVA中几个修饰符的作用以及一些相关话题
		几个传统的修饰符: public 该类的子类,以及同包,或者其他情况下可以访问该修饰符修饰的方法/变量 protacted 只有同包,子类,该类本身可以访问 private 只有该类自身能访问 无修饰 ... 
- C语言printf格式化输出修饰符详解
		转换说明 输出 %a,%A 浮点数.十六进制数和p-计数法(C99) %c 一个字符 %d 有符号十进制数 %e,%E 浮点数,e计数法 %f 浮点数,十进制计数法 %g,%G 根据数值不同自动选择% ... 
- C# Static修饰符的作用
		MSDN上的定义 Use the static modifier to declare a static member, which belongs to the type itself rather ... 
- 在scanf函数中占位符使用错误而产生的一些错误
		出现的问题 在做编程题的的时候,遇到了一个很奇怪的错误,出问题的代码如下: 1 #include <cstdio> 2 using namespace std; 3 4 int main( ... 
- C#.net 中 修饰符 详解 (来自MSDN)
		自己理解的不够深刻,无奈基础较差!记上一笔,记忆深刻些,哈哈…… 1. 访问修饰符 public 同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员. private 只有同一 ... 
随机推荐
- springboot 报错nested exception is java.lang.IllegalStateException: Failed to check the status of the service xxxService No provider available for the service
			spring: dubbo:#关闭所有服务的启动时检查:(没有提供者时报错) consumer: check: false timeout: 3000 
- 软件工程概论 网站开发要掌握的技术 &登录界面
			1.网站系统开发需要掌握的技术 一.界面和用户体验(Interface and User Experience) 1.1 知道如何在基本不影响用户使用的情况下升级网站.通常来说,你必须有版本控制系统( ... 
- (转)调皮的location.href
			来自 wooyun'drops --->呆子不开口 0x00 背景 随着水瓶月的到来,在祖国繁荣昌盛的今天,web系统的浏览器端也越来越重,很多的功能逻辑都放在了js中,前端的漏洞也越来越多. ... 
- URL方案最佳做法|高级路由特性  | 精通ASP-NET-MVC-5-弗瑞曼
			使 URL整洁和人性化 GET(安全交互)和POST(不安全交互):选用正确的一个. 
- 超越队西柚考勤系统--Beta冲刺2
			超越队西柚考勤系统- -beta冲刺2 格式描述 这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业链接 团队名称 超越队(西柚考勤系统) 这个作业的目标 对alpha版本的程序进行改进,代码核 ... 
- Python的条件控制及循环
			一.条件控制: 1.If语句的使用: Python中if语句的一般形式如下所示: 上图中: 如果 "score>=90" 为 True 将执行 "print(‘优秀 ... 
- 动态规划-Dynamic Programming(DP)
			动态规划 动态规划方法心得  动态规划是一般的面试.笔试中的高频算法题,熟练掌握必要的.动态规划的中心思想是在解决当前问题时,可以由之前已经计算所得的结果并结合现在的限制条件递推出结果.由于此前的计 ... 
- PKU-2723 Get Luffy Out(2-SAT+二分)
			Get Luffy Out 题目链接 Ratish is a young man who always dreams of being a hero. One day his friend Luffy ... 
- Web自动化测试项目(二)BasePage实现
			一.BasePage介绍 创建一个BasePage类,对Selenium Api进行二次封装 为了快速创建项目并投产,用到的Selenium Api才进行封装,没用到的则不封装 优先封装最重要的几个方 ... 
- Idea-LifecycleException when deploying
			案例 今天第一次用idea构建项目,出现了如下问题: FAIL - Application at context path /myWebApp could not be started FAIL - ... 
