当前位置:   article > 正文

将大小写字母互换的三种方式 C语言_字符串大小写转换c语言

字符串大小写转换c语言

方法一:(常规) 

  1. int main() {
  2. char str[80];
  3. int i = 0;
  4. gets(str);
  5. while (str[i] != '\0') {
  6. if (str[i] >= 'a' && str[i] <= 'z')
  7. str[i] = str[i] + 'A' - 'a';
  8. else if (str[i] >= 'A' && str[i] <= 'Z')
  9. str[i] = str[i] + 'a' - 'A';
  10. i++;
  11. }
  12. printf("%s\n", str);
  13. return 0;
  14. }

方法二:(位异或)

  1. int main(){
  2. char str[80];
  3. int i = 0;
  4. gets(str);
  5. while (str[i] != '\0') {
  6. if (str[i] >= 'a' && str[i] <= 'z')
  7. str[i] = str[i] ^ 32;
  8. else if (str[i] >= 'A' && str[i] <= 'Z')
  9. str[i] = str[i] ^ 32;
  10. i++;
  11. }
  12. printf("%s", str);
  13. return 0;
  14. }

 ^位异或:相同为0,不同为1

 转换思想:大写A(65)、小写a(97)的ASCII码相差32,大写要转换成小写就必须在65的基础上加32,只需要将二进制的第6位变号即可。同理小写也一样。

举例一:将大写A(ascii码为65)转换成小写a(ascii码为97)

          01000001  --->65  --->大写A

  ^      00100000  --->32

          01100001  --->97  --->小写a

举例二:将小写a(ascii码为97)转换成大写A(ascii码为65)

          01100001  --->97  --->小写a

  ^      00100000  --->32

          01000001  --->65  --->大写A

方法三:(使用转换函数)

1.字符

int tolower(char c); 将字符转换为小写

int toupper(char c) 将字符转换为大写

2.字符串 --> 需要包含头文件#include <string.h>

char *strlwr(char *str); 将字符串中的字符转换为小写

char *strupr(char *str); 将字符串中的字符转换为大写

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/154329
推荐阅读
相关标签
  

闽ICP备14008679号