---------------------.3.14更新----------------------------------
为什么这么做可以的原理 大小写字母的ASCII码之间的规律,不用相差32来讲 , 今天复习汇编的时候看到的,还算比较巧妙,很强
---------------------.3.14更新----------------------------------
利⽤或操作 | 和空格将英⽂字符转换为⼩写
('a' | ' ') = 'a'('A' | ' ') = 'a'
利⽤与操作 & 和下划线将英⽂字符转换为⼤写
('b' & '_') = 'B'('B' & '_') = 'B'
利⽤异或操作 ^ 和空格进⾏英⽂字符⼤⼩写互换
('d' ^ ' ') = 'D'('D' ^ ' ') = 'd'
示例
#include<iostream>#include <string>using std::cin;using std::cout;using std::endl;using std::string;int main(){string str;cin >> str;for (int i = 0; i < str.length(); i++){str[i]=str[i]^' '; //大小写互换// str[i]=str[i]|' '; //全小写// str[i]=str[i]&'_'; //全大写}cout<<str<<endl;return 0;}
和普通方法相比 将一个只含有大小写字母的字符串大写变成小写,小写变成大写后输出。