C语言中大小写宁母的转化详细讲解

在 C 语言中,可以使用一些函数来实现大小写字母的转换。

toupper() 和 tolower() 函数

这两个函数可以将一个字符转换为大写或小写字母。它们的原型定义在 ctype.h 头文件中:

int toupper(int c);
int tolower(int c);

这两个函数都接受一个字符参数 c,返回值是转换后的字符。如果 c 已经是大写字母或小写字母,则不进行转换,直接返回原值。

下面是一个例子,将输入的字符串转换成大写字母形式:

#include <stdio.h>
#include <ctype.h>int main() {char str[100];printf("Enter a string: ");fgets(str, 100, stdin);for (int i = 0; str[i] != '\0'; i++) {str[i] = toupper(str[i]); // 将每个字符转换为大写字母}printf("Uppercase string: %s", str);return 0;
}

同样的,我们也可以使用 tolower() 函数将字符串转换为小写字母形式。

strupr() 和 strlwr() 函数

这两个函数可以将一个字符串全部转换为大写或小写字母。它们的原型定义在 string.h 头文件中:

char* strupr(char* str);
char* strlwr(char* str);

这两个函数都接受一个字符串参数 str,返回值是转换后的字符串。如果 str 中已经包含了大写或小写字母,则不进行转换,直接返回原字符串。

下面是一个例子,将输入的字符串转换成大写字母形式:

#include <stdio.h>
#include <string.h>int main() {char str[100];printf("Enter a string: ");fgets(str, 100, stdin);strupr(str); // 将整个字符串转换为大写字母printf("Uppercase string: %s", str);return 0;
}

同样的,我们也可以使用 strlwr() 函数将字符串转换为小写字母形式。

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

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

相关文章

软件测试过程中出现随机性缺陷,大家是如何处理的?

软件测试是确保软件产品的质量、功能和可靠性的关键过程。然而&#xff0c;测试并不总是完美无缺的&#xff0c;在开发和测试阶段可能会出现缺陷。缺陷是错误、缺陷或偏离软件的预期行为或要求。在本文中&#xff0c;我们将探讨软件测试中缺陷的常见类型和原因&#xff0c;以及…

netstat是一个常用的网络工具,用于显示和分析网络连接、路由表以及网络接口等信息。

netstat 是一个常用的网络工具&#xff0c;用于显示和分析网络连接、路由表以及网络接口等信息。 它可以提供关于网络活动的实时统计数据&#xff0c;包括正在监听的端口、已建立的连接、网络接口的状态等。 使用 netstat 命令可以列出当前系统中的网络连接情况。以下是一些常…

AutoCAD .NET 层次结构介绍

AutoCAD .NET API 提供了一种面向对象的编程接口&#xff0c;通过它可以与AutoCAD进行深度集成和自定义功能开发。以下是基于.NET框架下AutoCAD对象层次结构的基本介绍&#xff1a; Autodesk.AutoCAD.ApplicationServices 命名空间 根对象&#xff0c;代表运行中的AutoCAD应用程…

centos 7 部署若依前后端分离项目

目录 一、新建数据库 二、修改需求配置 1.修改数据库连接 2.修改Redis连接信息 3.文件路径 4.日志存储路径调整 三、编译后端项目 四、编译前端项目 1.上传项目 2.安装依赖 3.构建生产环境 五、项目部署 1.创建目录 2.后端文件上传 3. 前端文件上传 六、服务启…

一文彻底搞懂Java中ArrayList和LinkedList 区别

文章目录 1、数据结构2、插入和删除3、随机访问4、内存占用5、适用场景6、总结7、选择建议8、关于 ArrayList 和 LinkedList 的常见问题 1、数据结构 ArrayList&#xff1a;基于数组实现&#xff0c;元素在内存中是连续存储的。LinkedList&#xff1a;基于链表实现&#xff0c…

第二证券:苹果Vision Pro出货在即 固态电池产业化前景渐明

sion Pro即将于2月2日正式在美国商场开始交给&#xff0c;苹果美国官网释出了Vision Pro的详细参数&#xff0c;与发布会介绍根本一致&#xff0c;依靠总计12个摄像头、5种传感器、职业顶尖的单眼4K分辨率Micro-OLED显示屏、M2与R1芯片&#xff0c;完成了当时商场上独一无二的沉…

有关使用Lombok@Builder注解构建对象返回为空

目录 问题 原因 解决方案 问题 使用lombokBuilder注解构建对象返回结果为空 原因 Builder注解底层调用setter等方法赋值&#xff0c;你如果没加Data注解就赋值不上&#xff0c;idea也不会错误警示&#xff0c;运行也不会抛出异常&#xff0c;这个平时不注意漏掉这个点还真…

SpanDB: A Fast, Cost-Effective LSM-tree Based KV Store on Hybrid Storage——论文泛读

FAST 2021 Paper 论文阅读笔记整理 问题 键值&#xff08;KV&#xff09;存储支持许多关键的应用和服务。它们在内存中执行快速处理&#xff0c;但通常受到I/O性能的限制。最近出现的高速NVMe SSD推动了新KV系统设计&#xff0c;以利用其低延迟和高带宽。 挑战 当前基于LSM…

gorm+mysql查询/修改json列相关操作汇总

目录 具体操作 1&#xff0c;查询JSON段落指定key的值是否有等于value的 或 指定keyvalue的数据记录 2&#xff0c;查询JSON段落中price>19的记录 3&#xff0c;查询JSON段中key为k0的记录 4、JSON段落中提取指定键值对到指定结构 5&#xff0c;查询JSON数组是否包含…

ANN(MLP) 三种预测

目录 介绍&#xff1a; 一、Mlp for binary classification 数据&#xff1a; 模型&#xff1a; 预测&#xff1a; 二、Mlp for Multiclass Classification 数据&#xff1a; 模型&#xff1a; 预测&#xff1a; 三、MLP for Regression 数据&#xff1a; 模型&a…

中科大计网学习记录笔记(五):协议层次和服务模型

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

《最新出炉》系列入门篇-Python+Playwright自动化测试-10-标签页操作(tab)

1.简介 标签操作其实也是基于浏览器上下文&#xff08;BrowserContext&#xff09;进行操作的&#xff0c;而且宏哥在之前的BrowserContext也有提到过&#xff0c;但是有的童鞋或者小伙伴还是不清楚怎么操作&#xff0c;或者思路有点模糊&#xff0c;因此今天单独来对其进行讲…

苹果的ipad可能会缓存vue项目的数据或者pinia数据

如果你发现开发的vue项目在ipad上出现了异常&#xff0c;比如数据出现NaN的情况&#xff0c;或者computed计算属性没生效&#xff0c;或者pinia里面的数据没生效&#xff0c;可能就是ipad浏览器safari缓存了数据导致的&#xff0c;只需要清空safari里面缓存的数据就可以了&…

开始学习第三十天

最近天气有点不太好 都是雨雪 今天也就正式学了第一个月咯 希望以后接着加油 今天是小年 大家小年快乐呀 明天要去奶奶家 在那边就没办法学习了 等年三十之后回来接着学习&#xff01;

RT-Thread线程管理(使用篇)

layout: post title: “RT-Thread线程管理” date: 2024-1-26 15:39:08 0800 tags: RT-Thread 线程管理(使用篇) 之后会做源码分析 线程是任务的载体&#xff0c;是RTT中最基本的调度单位。 线程执行时的运行环境称为上下文&#xff0c;具体来说就是各个变量和数据&#xff0c…

Kotlin-集成SpringBoot+MyBatis+代码生成器

目录 一、相关版本 二、Maven因引入相关依赖 三、SpringBoot配置文件 四、代码生成工具 五、实现用户服务模块案例 1、Controller 2、Service 3、Entity 4、Mapper 5、接口测试 一、相关版本 工具版本Idea2022.3.2Springboot2.7.12MyBatis3.5.3.1MySQL8.0.28JDK1.8 …

Python详细教程

一、Python简历 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;其他语言的一些标点符号&#xff0c;它具有比其他语言更有特色语法结构。 Python 是一种解…

20240203进程间通信的7种方式

内核提供的原始通信方式有三种&#xff1a; ①无名管道&#xff1a;没有名字的管道&#xff0c;是一个特殊的文件&#xff0c;并且存储在内存上&#xff0c;不在文件系统中展示&#xff0c;无名管道打开后&#xff0c;会返回两个文件描述符&#xff0c;一个是读端&#xff0c;…

MySQL原理(五)事务

一、介绍&#xff1a; 1、介绍&#xff1a; 在计算机术语中&#xff0c;事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务是恢复和并发控制的基本单位。 2、事务的4大特性 原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性…

LaTeX表格:合并单元格、文字旋转90度并居中

在LaTeX表格中&#xff0c;如何使用\multirow合并单元格&#xff0c;并将单元格中的文字旋转九十度&#xff0c;并且居中呢&#xff1f; 首先引入graphicx、multirow和array包&#xff1a; \usepackage{graphicx} \usepackage{multirow} \usepackage{booktabs}然后定义一种新…