29 lines
817 B
C++
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;
|
||
|
}
|