gpt4 book ai didi

c++ - 在 Programming Code to Convert Lowercase to Uppercase why do we use(str[i]>=97 && str[i]<=122)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:09:15 25 4
gpt4 key购买 nike

这就是我用来将小写字母转换为大写字母的程序,你能告诉我为什么要使用这个东西吗?[(str[i]>=97 && str[i]<=122)]在下面的代码部分?

#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();
char str[20];
int i;
cout << "Enter the String (Enter First Name) : ";
cin >> str;
for (i = 0; i <= strlen(str); i++) {
if (str[i] >= 97 && str[i] <= 122) //Why do we use this???
{
str[i] = str[i] - 32;
}
}
cout << "\nThe String in Uppercase = " << str;
getch();
}

最佳答案

这部分代码写的很烂:

if(str[i]>=97 && str[i]<=122)
{
str[i]=str[i]-32;
}

它会更便携,更易读:

if(str[i]>='a' && str[i]<='z')
{
str[i]=str[i]-'a'+'A';
}

或者更好的是,使用标准 C 库宏/函数(来自 <ctype.h> ):

if(islower(str[i]))
{
str[i]=toupper((unsigned char)str[i]);
}

或者更好的是,您可以完全跳过测试并编写:

str[i]=toupper((unsigned char)str[i]);

(因为如果不是小写字母,toupper 将返回不变的字符)。

关于c++ - 在 Programming Code to Convert Lowercase to Uppercase why do we use(str[i]>=97 && str[i]<=122)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com