0


C语言的字母大小写转化

南昌理工学院ACM集训队

C语言入门的时候都会遇到要求写大小写转换的题目
这类题目主要通过ASCII(美国信息交换标准代码)码差值实现,

A对应ASCII码十进制数字是65,a对应ASCII码十进制数字是97,

即大小写字母之间ASCII码差值为32,想要将大写字母转换为小写字母可以将该字符ASCII码值+32,同理小写字母转换成大写字母只需将该字符ASCII码值-32。

咱们先来看看这个代码:

咋一看,欸?很不错,没啥毛病,编译运行试一下,发现还不错

确实可以,但是.....这样呢?

啊这.........这是怎么回事呢?

原来,

我们之前的这个else,它的执行条件是之前if里的范围的补集,也就是说只要是在(x<='a'||x>='z')的范围内,它都会执行“x=x+32”,所以出现上述输入字符,也能输出的情况。

这个时候,只要具体化else的执行条件,将其变成else if,即可。

如下:

这样就可以啦!

标签: c语言

本文转载自: https://blog.csdn.net/jebe_lwb/article/details/118888103
版权归原作者 jebe_lwb 所有, 如有侵权,请联系我们删除。

“C语言的字母大小写转化”的评论:

还没有评论