qfedu-basic-level/day9/homework/h5.cpp

29 lines
817 B
C++

// 编写一个函数,用于将一个字符串中的所有小写字母转换为大写字母,并返回结果。
#include <iostream>
using namespace std;
void toUpper(char str[], int size)
{
for (int i = 0; i < size; i++)
{
// if (str[i] >= 'a' && str[i] <= 'z')
// str[i] -= 32;
// 位运算实现
if (str[i] >= 'a' && str[i] <= 'z')
str[i] &= ~32; // 原理, 32 = 0010 0000, ~32 = 1101 1111, 与运算后, 小写字母的第6位变为0, 即变为大写字母
// 三目运算符
// str[i] = (str[i] > 'a' && str[i] < 'z') ? str[i] - 32 : str[i];
}
}
int main()
{
char str[] = "abcdeFG";
int size = sizeof(str) / sizeof(str[0]);
toUpper(str, size);
cout << "转换后的字符串为:" << str << endl;
return 0;
}