【c语言】字符串输出方式 | API仿真

news2024/9/25 23:24:07

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

c语言系列专栏:c语言重点之路整合

字符串知识点:字符串基本概念、存储原理

字符串输出目录

  • 一、字符串输出
  • 二、对%s 仿真
    • 声明:
    • 1.下标方式输出定义:
    • 2.指针方式输出定义:
    • 调用测试:
    • 运行结果:

一、字符串输出

输出:

定义一个字符串然后通过%s格式输出字符串名称就可以打印出字符串的内容

image-20230506135632136

二、对%s 仿真

字符串常用于文字处理,常用且实用。因此其常用功能被封装成了一套API。可通过string.h进行使用。
通过仿真我们可以理解其函数内部工作机制的细节

定义一个函数,传入字符串名称就可以打印出该字符串的内容

再次使用%c而不用%s输出字符串

声明:

void prints(char str[ ]);

1.下标方式输出定义:

void prints(char str[])
{
	 //下标方式
	for (int i = 0; str[i] != '\0';i++)
	{
		printf("%c", str[i]);
	}
}

2.指针方式输出定义:

void prints(char str[])
{
//指针方式
	while (*str != '\0')	//也可以改为while (*str)	因为到结束语'\0'时会退出循环
	{
		printf("%c", *str++);
	}

	char* p = str;	//最好创建一个新指针,不改变str原先的地址
	while (*p != '\0')	//while (*p)
	{
		printf("%c", *p++);
	}

调用测试:

#include <stdio.h>
void prints(char str[]);
int main()
{
	char str[50] = "TianXiCoding";
	/* 仿真 %s 封装函数 */
	prints(str);
	return 0;
}
//  %c
void prints(char str[])
{
	 //下标方式
	for (int i = 0; str[i] != '\0';i++)
	{
		printf("%c", str[i]);
	}
	//指针方式
	while (*str != '\0')	//while (*str)
	{
		printf("%c", *str++);
	}

	char* p = str;
	while (*p != '\0')	//while (*p)
	{
		printf("%c", *p++);
	}
}

运行结果:

与原先的%s输出结果相同:

image-20230506140542307

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!

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

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

相关文章

数据库中的 Schema 变更实现

线上沙龙-技术流第 30 期营业啦 05月09日&#xff08;周二&#xff09;19:30 KaiwuDB - B站直播间 传统数据库操作 Schema 变更时&#xff0c;第一步便是锁表&#xff0c;需持续到 Schema 变更操作完成。这样的做法虽然实现简单&#xff0c;无需考虑事务并发带来的影响&#…

密码学:编码概述.

密码学&#xff1a;编码概述. 目录&#xff1a; 密码学&#xff1a;编码概述. 编码的概念&#xff1a; Base编码&#xff1a; &#xff08;1&#xff09;Base64 &#xff08;2&#xff09;Base32 和 Base16 &#xff08;3&#xff09;uuencode &#xff08;4&#xff0…

Linux怎么查看centos版本

Linux怎么查看centos版本 1、 lsb_release -a LSB是Linux Standard Base的缩写&#xff0c;lsb_release命令用来显示LSB和特定版本的相关信息。 lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics…

Sublime3的打开方式添加到右键菜单

http://jingyan.baidu.com/article/cdddd41c68c32753ca00e157.html Sublime Text 安装完成之后没有右键打开方式&#xff0c;打开文件很不方便。为了快捷打开文件&#xff0c;可以在系统的右键上添加Sublime Text打开方式。如图所示 百度经验:jingyan.baidu.com 工具/原料 Sub…

第五章:平面解析几何

1.平面向量 1.向量的概念 1.有向线段:规定了起点和终点的线段叫做有向线段。例如以A为起点,B为终点的有向线段记作: 2.有向线段的要素:方向和长度。其中方向是从起点到终点,长度是线段AB的长度,记作:2.向量 1.定义:既有大小又有方向的量叫做向量。 2.表示法:向量可用…

vue+Nodejs+Koa搭建前后端系统(四)--安装MYSQL

前言 计算机系统为Windows 10 专业版MYSQL采用压缩版安装&#xff0c;版本为 v8.0.32 下载MYSQL数据库 MYSQL官网地址&#xff1a;https://www.mysql.com/ DOWNLOADS - MySQL Community Server 下载压缩版 ZIP Archive表示压缩版&#xff08;相当于绿色版&#xff09;&…

PointPillars Fast Encoders for Object Detection from Point Clouds 论文学习

论文地址&#xff1a;PointPillars: Fast Encoders for Object Detection from Point Clouds Github 地址&#xff1a;PointPillars: Fast Encoders for Object Detection from Point Clouds 1. 解决了什么问题&#xff1f; 点云目标检测是自动驾驶领域的一个重要方向。自动…

机智云全品类家电家居智能化解决方案亮相AWE,轻量化方案赋能产品快速升级

随着物联网、AI技术在家电家居行业应用愈发成熟&#xff0c;软硬一体的低成本轻量化解决方案越来越受到中小家电企业青睐。作为一线家电品牌首选的物联网平台&#xff0c;机智云Gizwits积累沉淀了10年家电AIoT研发和实施运维经验&#xff0c;携全品类家电家居智能化解决方案亮相…

怎么让chatGTP写论文-chatGTP写论文工具

chatGTP如何写论文 ChatGPT是一个使用深度学习技术训练的自然语言处理模型&#xff0c;可以用于生成自然语言文本&#xff0c;例如对话、摘要、文章等。作为一个人工智能技术&#xff0c;ChatGPT可以帮助你处理一些文字内容&#xff0c;但并不能代替人类的创造性思考和判断。以…

796. 子矩阵的和(C++和Python3)——2023.5.6打卡

文章目录 QuestionIdeasCode Question 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个询问&#xff0c;每个询问包含四个整数 x1,y1,x2,y2 &#xff0c;表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数…

业务连续性

业务连续性 业务连续性管理业务连续性的概念业务连续性计划建设过程组织管理业务影响分析&#xff08;BIA&#xff09;BIA-1确定业务优先级BIA-2风险分析BIA-3资产优先级划分 制定及批准实施制定及批准实施-风险降低制定及批准实施-风险转移制定及批准实施-风险规避与风险接受制…

SuperMap GIS基础产品移动GIS FAQ集锦(2)

SuperMap GIS基础产品移动GIS FAQ集锦&#xff08;2&#xff09; 【iMobile】AR加载场景不显示 【问题原因】 1.场景切的缓存纹理压缩格式不是移动端支持的&#xff1b; 2.场景原点位置太远&#xff0c;加载后显示效果很小不起眼看不清 【解决方法】 1.确认场景缓存纹理压缩格…

gdal2tiles切图

gdal2tiles切图 文章目录 gdal2tiles切图切图流程瓦片合并参考链接 切图流程 从原始数据获取所需的最高级别的瓦片,更低级的瓦片只需从这些最高级瓦片一层一层生成. 这样速度更快:因为最高级的瓦片只能利用gdal从原始tif中获取,其速度受tif尺寸影响很大,且从tif上取得级别越低,…

MySQL安装配置教程(保姆级,包含环境变量的配置)适合小白

文章目录 MySQL安装教程下载链接官网下载安装配置环境变量配置 MySQL安装教程 下载链接 点击下载链接 官网下载 官网下载 2.官网下载 3.官网下载 4.官网下载 5.官网下载 这里我们无需注册&#xff0c;只需要点下载就好 安装配置 1.安装配置   选择第一个 2.安装配置…

FreeRTOS 空闲任务

文章目录 一、空闲任务详解1. 空闲任务简介2. 空闲任务的创建3. 空闲任务函数 二、空闲任务钩子函数详解1. 钩子函数2. 空闲任务钩子函数 三、空闲任务钩子函数实验 一、空闲任务详解 1. 空闲任务简介 当 FreeRTOS 的调度器启动以后就会自动的创建一个空闲任务&#xff0c;这…

【C++从0到王者】第二站:类和对象(中)构造函数与析构函数

文章目录 一、C的六个默认成员函数二、构造函数和析构函数1.构造函数①构造函数的概念②构造函数的特性 2.析构函数①析构函数的概念②析构函数的特性 3.构造函数的其他特性4.构造函数总结5.一些不写构造函数的样例6.析构函数的其他特性 一、C的六个默认成员函数 如果一个类中什…

go与其他语言区别,go与Java、Python有什么区别

零、go与其他语言 0、什么是面向对象 在了解 Go 语言是不是面向对象&#xff08;简称&#xff1a;OOP&#xff09; 之前&#xff0c;我们必须先知道 OOP 是啥&#xff0c;得先给他 “下定义” 根据 Wikipedia 的定义&#xff0c;我们梳理出 OOP 的几个基本认知&#xff1a; …

【转存】Go语言设计模式

导语| 设计模式是针对软件设计中常见问题的工具箱&#xff0c;其中的工具就是各种经过实践验证的解决方案。即使你从未遇到过这些问题&#xff0c;了解模式仍然非常有用&#xff0c;因为它能指导你如何使用面向对象的设计原则来解决各种问题&#xff0c;提高开发效率&#xff0…

[漏洞分析] 用chatGPT分析CVE-2023-0386 overlay内核提权

文章目录 漏洞简介环境搭建漏洞原理补丁分析命名空间用户命名空间 overlay文件系统原理创建一个overlay文件系统 漏洞触发逻辑 漏洞利用fuse文件系统漏洞利用touch命令冷知识exp 总结参考 本文的理论知识&#xff08;命名空间、overlay文件系统、fuse文件系统等&#xff09;均来…

档案馆库房环境温湿度空气质量等相关要求

档案库房防潮工作&#xff0c;就是要将库内相对湿度控制在规定的范围之内&#xff0c;这个范围就是由建设部和国家档案局共同批准颁布的强制性行业标准《档案馆建设设计规范》对档案库房的温湿度范围已作出明确的要求&#xff1a;温度14℃&#xff5e;24℃&#xff0c;湿度45%&…