详解:字符转换函数(大写转小写,小写转大写)

对于我们在刚刚学习C语言的时候的练习题:不知道大家还能记得多少??

多组输入,输入一个英文字符,判断,如果是大写,则输出小写,如果是小写,则输出大写!!

这个题目,其实在刚刚开始学习的时候,为难了笔者老久都没有攻克!主要还是在于:回车键没有抵消!!所以出现了错误!下面笔者将借用这个题目来带领大家走进: 字符转换函数(大写转小写,小写转大写)!!

对于上述的题目,笔者的参考代码为:

//多组输入,输入一个英文字符,判断,如果是大写,则输出小写,如果是小写,则输出大写!!
#include <stdio.h>
int main()
{
	char ch = 0;
	while (~scanf_s("%c", &ch))
	{
		if (ch >= 'a' && ch <= 'z')
		{
			printf("小写转大写:%c\n", ch - 32);
		}
		else
		{
			printf("大写转小写:%c\n", ch + 32);
		}
		ch = getchar();
	}
	return 0;
}

对于上述代码的运行结果,想必很多老铁,都是显而易见的在心里面已经有了答案!

 上面的代码,是大部分刚刚学习到字符的时候,所书写的代码,之前煎熬了笔者许久,还见过不少秀丽的……嗯,但是现如今笔者也能骄傲的通过操作符来进行大小写之间的转换了!!自豪许久许久!!

言归正传:下面进入笔者本文的主要内容部分!

字符转化函数:int  tolower (int c)  大写转小写

                         int  toupper(int c)  小写转大写

上面的内容,就是本文所使用的语法!确实挺简单的:但也得请知悉!

简单使用的代码为:

#include <stdio.h>
#include <ctype.h>
//所需要的头文件
int main()
{
	char ch = 'a';
	printf("小写转大写:%c\n", toupper(ch));
	return 0;
}

代码的运行结果为:

 在这里面,ch本身没有发生变化,打印的只是返回值!!

当然,笔者的这个代码,仅仅是为了向大家介绍一下这两个函数,并没有深入的去写代码!所以,更深层次的东西,请各位老铁自行研究!!

对于上述代码,在运行结束以后,ch的值仍未发生改变,可以通过调试可以看出来:此时在调试的过程中,已经位于最后一行:但ch的值仍然是:'a‘

 将函数与指针的联立使用方法为:


#include <stdio.h>
#include <ctype.h>
//所需要的头文件
int mian()
{
	char arr[] = "WoXiHuanNi WangYiJun";
	char* p = arr;
	while (*p)
	{
		if (islower(*p))
		{
			*p = toupper(*p);
			//小写转大写
		}
		p++;
	}
	printf("%s\n", arr);
	return 0;
}

 上面的代码,可以实现,该目的!!值得借鉴!!

但是也使用了一个C语言定义的库函数:islower  有意者请自行参考借鉴,在此笔者就不做过多的讲解:

本文目的已经达到,若有其他问题,请私聊笔者!!

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

念君思宁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值