printf()的转换说明

转换说明 输出
%a,%A 浮点数,十六进制数和p记数法
%c 单个字符
%d、%i 有符号的十进制整数
%e,%E 浮点数,e记数法
%f 浮点数,十进制计数法
%g/%G

根据值的不同,自动选择%f或%g/%G。

%g/%G格式用于指数小于-4或大于等于精度时。

%o 无符号八进制整数
%p 指针
%s 字符串
%u 无符号十进制整数
%x/&X 无符号十六进制整数,是用十六进制of/oF
%% 打印一个百分号

      printf()的转换说明修饰符

修饰符 含义
标记 -,+,空格,#,0
数字

最小字段宽度

如果该字段不能容纳待打印的数字或字符串,

系统会使用更宽的字段。示例:%4d

.数字

精度

对于%e,%E,%f的转换,表示小数点右边数字的位数

对于%g和%G转换,表示有效数字最大位数

对于%s转换,表示待打印字符的最大数量

对于整形转换,表示待打印数字的最小位数

h 和整形转换说明一起使用,表示short int和unsigned short int类型的值。示例:%hu,%hx,%6.4hd
hh 和整形转换说明一起使用,表示signed char和unsigned char类型的值
l 和整形转换说明一起使用,表示long int 和unsigned long int 类型的值
z

和整形转换说明一起使用,表示size_t类型的值。

size_t是sizeof返回的类型。示例:%zd。

L long double

printf( )中的标记

标记 含义
- 待打印项左对齐。
+

有符号值为正,则在值前面显示加号;

若为负,则在值前面显示符号。

空格

有符号值若为正,则在值前面显示前导符号;

若为负,则在值前面显示减号标记并覆盖空格。

#

把结果转换为另一种形式。如果是%o格式,则以0开始;

如果是%x或%X格式,则以0x或0X开始;

0

对于数值格式,用前导0代替空格填充字段宽度。

对于整数格式,如果出现-标记或指定精度,则忽视该标记。

scanf( )

  • 如果用scanf()读取基本变量类型的值,在变量前加上一个&,如果是字符串则不用。
  • scanf()读入数组时读取到空格是结束。
  • 在scanf()中,把*放在%和转换字符之间时,会使得是scanf()跳过相应的输入项。而printf()则是在有充足的字段宽度时用*号填充。
  • scanf()返回成功读取项的个数。

printf( )和scanf( )的更多相关文章

  1. printf和scanf

    一 printf和scanf(printf和scanf是c语言中的输入输出库函数) printf(”格式控制“,输出列表) <1>格式控制 其中包含 格式声明(%+相应格式对应字母).转义 ...

  2. C的printf与scanf的用法

    之前没学过C语言,只学过C++,所以就来自学下C语言了,其实个人认为C与C++的区别很小,基本上就是printf与scanf这点输出和输入的区别了,如果还有什么区别的话那就是要包含的头文件是不同的.比 ...

  3. 【转】stm32CubeMx上移植自己的printf()和scanf()函数

    要想printf()和scanf() 函数工作,我们需要把printf()和scanf() 重新定向到串口中.重定向是指用户可以自己重写C 的库函数,当连接器检查到用户编写了与C 库函数相同名字的函数 ...

  4. C语言: 运算符,printf,scanf的用法

    运算符/的运算结果和运算对象的数据类型有关,两个数都是in,则商就是int,取整数部分:被除数和除数中只要有一个或两个都是浮点型数据,则商也是浮点型,不去掉小数部分如:16/5 == 3:16/5.0 ...

  5. 数据类型、常量、变量、printf、scanf和运算符

    数据类型 常量 变量 printf函数介绍 scanf函数介绍 运算符 数据类型 数据类型是指数据在内存中存储的方式. C语言中有5大数据类型:基本类型.构造类型.指针类型.空类型.定义类型. C语言 ...

  6. 重学C语言 -- printf,scanf

     printf();    用来显示格式串的内容          注意: 参数不可以换行,否则会出一个警告.       格式串中占位符比表达式数量多     会显示一个无意义值 格式串中占位符比表 ...

  7. printf与scanf的返回值、注意点

    printf()的返回值为其输出字符串常量的字符数(注意字符数与字数的区别)注意计数针对所有的打印字符,包括空格和不可见的换行字符(不包括字符串的空字符). scanf()函数返回成功读入的项目的个数 ...

  8. printf和scanf整理(后续填补)

    scanf和printf头文件:<stdio.h> 1.%d.%3d.%03d.%-3d区分 %d:以十进制形式输出整数(int) %3d:指定宽度为3,不足的左边补空格 %03d:一种左 ...

  9. C++中printf和scanf的用法

    (一)printf的用法 printf:按格式打印,向控制台输出.print:打印 ,f:formate,格式化. 在使用printf向控制台输出时,不建议使用中文字符串,中文字符串的问题比较复杂,有 ...

  10. 2_C语言中的数据类型 (七)printf与scanf

    1          字符串格式化输出和输入 1.1       字符串在计算机内部的存储方式 字符串是内存中一段连续的char空间,以’\0’结尾 “”是C语言表达字符串的方式 1.2       ...

随机推荐

  1. 最简单的应用flask

    服务端 # -*- coding: utf-8 -*- from flask import Flask,request flask_app = Flask('55kai') @flask_app.ro ...

  2. 多线程学习(第二天)Java内存模型

    一.内存模型基础 Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通信过程对程序员完全透明. 如果编写多线程程序的Java程序员不理解隐式进行的线程之间通信的工作机制,很可 ...

  3. Java中的左移、右移详细分析

    转自csdn--https://blog.csdn.net/weixin_42408447/article/details/125914449 前提:<<(左移),>>(右移) ...

  4. ANT+JMETER+Jenkins 接口自动化

    Linux环境下搭建:ANT+JMETER+Jenkins 接口自动化 一.准备环境: 1.下载 JDK1.8 JDK下载地址:https://www.oracle.com/java/technolo ...

  5. php 合并,拆分,追加,查找,删除数组教程

    1. 合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组.所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加.其形式为: array array_merg ...

  6. vmware 二次虚拟化

    在创建的虚拟机的目录内找到扩展名为vmx的文件,在文件的最后添加  hypervisor.cpuid.v0 = "FALSE" 保存 重新打开虚拟机在 在虚拟机配置开启虚拟化

  7. Java流程控制之用户交互Scanner

    Scanner对象 java.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入 #基本语法# Scanner s = new Scanner(System.in) ...

  8. gRPC中protobuff type和C# type原生标量对应表

    查看Microsoft官方文档: Create Protobuf messages for .NET apps | Microsoft Docs

  9. ubuntu22.04安装mysql5.7

    22版本的ubuntu默认安装mysql8.0版本,要想安装5.x的版本就得下载安装,这个比较详细的教程,可以参考: https://www.cnblogs.com/juanxincai/p/1648 ...

  10. RMAN架构

    关于 RMAN 环境 Recovery Manager 环境由在备份和恢复策略中发挥作用的各种应用程序和数据库组成. RMAN 环境的组件 组件 描述 RMAN 客户端 管理目标数据库的备份和恢复操作 ...