C语言中的格式化输出符号:%d %c %p %x等

news2025/3/1 1:38:43

文章目录

  • 概览
  • %d
  • %c
  • %d和%c的区别
  • %p
  • %x %X
  • 输出浮点数
  • 参考

概览

C语言中的格式化输出符号有很多,以下是一些常见的:

%d 或 %i:用于输出十进制整数。
%u:用于输出无符号十进制整数。
%f:用于输出浮点数。
%s:用于输出字符串。
%c:用于输出字符。
%p:用于输出指针。
%x 或 %X:用于输出十六进制数,%x表示输出小写字母,%X表示输出大写字母。
%o:用于输出八进制数。
%e 或 %E:用于输出科学计数法表示的浮点数。
%g 或 %G:用于输出浮点数,但是没有无意义的零。
这些格式化输出符号可以在printf函数的格式字符串中使用,用来指定输出的格式。

%d

%d是C语言中的格式化输出符号,用于将整数值按照十进制格式输出到标准输出流(通常是控制台)。它可以用于printf函数中的格式化字符串中,指示要输出的整数的位置和格式。例如,"%d"可以用来输出一个整数变量的值。

%c

%c是C语言中的格式化输出符号,用于输出字符。在printf函数中,%c可以用来输出一个字符变量的值。在你的代码中,如果你想打印出数组元素的字符表示,你可以使用%c。

#include <stdio.h>

int main() {
    unsigned char array[16];
    for (int i = 130; i < 146; i++)
    {
        array[i] = i;
        //打印数组的每个元素的地址和值
        printf("array[%d] address is %p, value is %c\n", i, &array[i], array[i]);
        
    }
    // 
    return 0;
}

printf("array[%d] address is %p, value is %c\n", i, &array[i], array[i]);

这将会打印出数组元素的字符表示,而不是整数值。
输出:

array[130] address is 000000000061FE82, value is é
array[131] address is 000000000061FE83, value is â
array[132] address is 000000000061FE84, value is ä
array[133] address is 000000000061FE85, value is à
array[134] address is 000000000061FE86, value is å
array[135] address is 000000000061FE87, value is ç
array[136] address is 000000000061FE88, value is ê
array[137] address is 000000000061FE89, value is ë
array[138] address is 000000000061FE8A, value is è
array[139] address is 000000000061FE8B, value is ï
array[140] address is 000000000061FE8C, value is î
array[141] address is 000000000061FE8D, value is ì
array[142] address is 000000000061FE8E, value is Ä
array[143] address is 000000000061FE8F, value is Å
array[144] address is 000000000061FE90, value is É
array[145] address is 000000000061FE91, value is æ

%d和%c的区别

在这里插入图片描述

%p

在C语言中,%p是一种格式化输出的转换说明符,用于打印指针变量的值。例如,下面的代码使用%p打印一个指向整数的指针变量p的值:

int num = 42;
int *p = &num;
printf("The value of p is %p\n", p);

输出为:

The value of p is 0x7ffee1d7e9ac

%p打印出的是指针变量p的十六进制地址。

%x %X

在C语言中,我们可以使用转换说明符 %x%X 来打印十六进制数。

%x 会将小写字母用于小于等于10的数字以及大写字母用于大于10的数字,而 %X 则全部使用大写字母。

下面是一个示例代码:

int num = 255;
printf("num in hex is %x\n", num);  // 输出 "num in hex is ff"
printf("num in HEX is %X\n", num);  // 输出 "num in HEX is FF"

%x%X 都只能用于输出 unsigned int 或者 unsigned long 类型的数据,如果使用 %x%X 输出其他类型的数据,将会导致未定义的行为。

输出浮点数

在C语言中,可以使用%f%e%g%E%G作为格式化输出符号来输出浮点数。

  • %f:按固定点表示法打印浮点数。
  • %e%E:按科学计数法打印浮点数。%e使用小写字母(例如,3.14159e+00),%E使用大写字母(例如,3.14159E+00)。
  • %g%G:根据值的大小,printf函数决定使用固定点表示法或科学计数法。%g使用小写字母,%G使用大写字母。

例如:

float num = 3.14159;
printf("The value of num is %f\n", num);
printf("The value of num is %e\n", num);
printf("The value of num is %g\n", num);

这将分别以固定点表示法,科学计数法和自动选择的方式打印出浮点数。

参考

《C Primer Plus》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1278120.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac修改默认shell为bash

1. 打开系统偏好设置 2. 点击用户群组 3. 按住ctrl&#xff0c;点击用户名 4. 点击高级选项&#xff0c;修改登录shell 参考&#xff1a;在 Mac 上将 zsh 用作默认 Shell - 官方 Apple 支持 (中国)

AI 绘画 | Stable Diffusion 电商模特

前言 上一篇文章讲到如何给人物更换背景和服装。今天主要讲电商模特,就是服装电商们的固定服装产品图片如何变成真人模特穿上的固定服装产品效果图。如果你掌握了 《AI 绘画 | Stable Diffusion 人物 换背景|换服装》,这篇文章对你来说,上手会更轻松。 教程 提取服装蒙版…

OpenCV技术应用(5)— 将一幅图像均分成4幅图像

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。本节课就手把手教你如何将一幅图像均分成4幅图像&#xff0c;希望大家学习之后能够有所收获~&#xff01;&#x1f308; 目录 &#x1f680;1.技术介绍 &#x1f680;2.实现代码 &#x1f680;1.技术介绍 如果将下图…

ubuntu22.04离线手动安装openstack yoga和ceph quincy

目录 写在前面材料准备一. OpenStack部1. 创建虚拟网络和虚拟机2. 配置离线环境3. 环境准备3.1 配置网络3.2 配置主机名并配置解析3.3 时间调整3.4 安装openstack客户端3.5 安装部署MariaDB3.6 安装部署RabbitMQ控制节点操作3.7 安装部署Memcache控制节点操作 4. 部署配置keyst…

有点迷糊class和初始化参数的用法了

翻阅手册https://www.runoob.com/python3/python3-class.html Python从设计之初就已经是一门面向对象的语言&#xff0c;正因为如此&#xff0c;在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言&…

牛客算法题 【HJ97 记负均正】 golang实现

题目 HJ97 记负均正 描述 首先输入要输入的整数个数n&#xff0c;然后输入n个整数。输出为n个整数中负数的个数&#xff0c;和所有正整数的平均值&#xff0c;结果保留一位小数。 0即不是正整数&#xff0c;也不是负数&#xff0c;不计入计算。如果没有正数&#xff0c;则平均…

基于PHP的高中生物学习平台

有需要请加文章底部Q哦 可远程调试 基于PHP的高中生物学习平台 一 介绍 此高中生物学习平台基于原生PHP开发&#xff0c;数据库mysql。系统角色分为用户和管理员。(附带参考设计文档) 技术栈&#xff1a;phpmysqlphpstudyvscode 二 功能 学生 1 注册/登录/注销 2 个人中心 …

6.C转python

1.用append函数增加数组元素时,注意好那个 . 2.可以用insert()函数增加列表任意位置的元素,参数一为插入的下标,而二为内容 例: 若那个参数一超过了列表的最大下标,则会在列表末尾添加内容 3.查找列表中的元素 例: 4.可以使用index函数来找到当期那要找的元素的下标 例(…

@RequestMapping处理请求异常

使用RequestMapping不指定请求方式&#xff0c;多种请求方式都支持。 Get格式FORM_URLENCODED Content-Typeapplication/x-www-form-urlencoded URL形式传参&#xff0c;请求体里面的内容是&#xff1a;usernamejohnexample.com&passwordsecretpassword&grant_type…

制作一个RISC-V的操作系统-环境搭建

文章目录 前言环境搭配 前言 由于之前的操作系统反馈难度太大&#xff0c;所以准备从这个RISC-V操作系统出发&#xff0c;以后知识层面更加深入再去完善。 环境搭配 按照依赖项 $ sudo apt update $ sudo apt install build-essential gcc make perl dkms git gcc-riscv64-…

CGAL的三维曲面网格生成

1、介绍 此程序包提供了一个函数模板&#xff0c;用于计算三角网格&#xff0c;以近似表面。 网格化算法要求仅通过一个能够判断给定线段、直线或射线是否与曲面相交&#xff0c;并且如果相交则计算交点的oracle来了解待网格化的表面。这一特性使该软件包具有足够的通用性&…

如何获取唐诗三百首中的名句列表接口

唐诗三百首&#xff0c;是中国文学中最为经典的诗歌选集之一&#xff0c;其中涵盖了大量美丽、深刻的诗句&#xff0c;被广泛传诵。有不少文化爱好者希望能够获取这些名句列表&#xff0c;以便深入理解唐诗的内涵和精华。那么&#xff0c;如何获取唐诗三百首中的名句列表呢&…

虚假IP地址攻击的溯源方法

随着网络技术的迅速发展&#xff0c;网络攻击行为也日益猖獗。其中&#xff0c;虚假IP地址攻击是一种较为常见的网络攻击方式&#xff0c;它利用虚假的IP地址&#xff0c;通过互联网对目标进行攻击和入侵。这种攻击方式不仅难以追踪&#xff0c;而且往往会给企业和个人带来巨大…

代码随想录day3 203.移除列表元素 707.设计链表 206.反转链表

数组是在内存中是连续分布的&#xff0c;但是链表在内存中可不是连续分布的。 双链表 单链表中的指针域只能指向节点的下一个节点。 双链表&#xff1a;每一个节点有两个指针域&#xff0c;一个指向下一个节点&#xff0c;一个指向上一个节点。 双链表 既可以向前查询也可以…

k8s ingress 无法找到端点

文章目录 ingress rule无法找到端点这个注解是什么意思呢&#xff1f;为何不生效呢&#xff1f;端点无法更新&#xff1f;如何确认ingressclass呢&#xff1f;修复端点无法发现的问题多个ingress controller 架构 ingress rule无法找到端点 在vnnox-cn集群创建ingress&#xf…

C++学习之路(十六)C++ 用Qt5实现一个工具箱(为屏幕颜色提取功能增加一个点击复制的功能)- 示例代码拆分讲解

上篇文章&#xff0c;我们用 Qt5 实现了在小工具箱中添加了《颜色代码转换和屏幕颜色提取功能》功能。今天我们把屏幕颜色提取的功能再扩展一下&#xff0c;让它可以点击复制吧。下面我们就来看看如何来规划开发这样的小功能并且添加到我们的工具箱中吧。 老规矩&#xff0c;先…

前端面试JS— JS数据类型及相关内容

目录 JS数据类型 基本数据类型&#xff1a; 引用数据类型&#xff1a; 两种数据存储方式&#xff1a; 两种数据类型的区别&#xff1a; 数据类型的检测方式 null和undefined区别 JS数据类型 基本数据类型&#xff1a; Number&#xff0c;String&#xff0c;Boolean&#xff0c;…

使用Pytorch从零开始实现BERT

生成式建模知识回顾: [1] 生成式建模概述 [2] Transformer I&#xff0c;Transformer II [3] 变分自编码器 [4] 生成对抗网络&#xff0c;高级生成对抗网络 I&#xff0c;高级生成对抗网络 II [5] 自回归模型 [6] 归一化流模型 [7] 基于能量的模型 [8] 扩散模型 I, 扩散模型 II…

【并发编程】volatile实现原理解析

&#x1f4eb;作者简介&#xff1a;小明Java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…

最小生成树算法

文章目录 最小生成树概述 P r i m Prim Prim 算法 - 稠密图 - O ( n 2 ) O(n^2) O(n2)思路概述时间复杂度分析AcWing 858. Prim算法求最小生成树CODE K r u s k a l Kruskal Kruskal 算法 - 稀疏图 - O ( m l o g m ) O(mlogm) O(mlogm)思路解析时间复杂度分析AcWing 859. Kr…