不明白ch = ch - 'a' + 'A'和ch = ch - ‘A’ + ‘a’=是什么意思
#include <stdio.h>int main()
{
int ch;
printf("请输入一行英文句子:");
while ((ch = getchar()) != '\n')
{
if (ch >= 'A' && ch <= 'Z')
{
ch = ch - 'A' + 'a';
}
else if (ch >= 'a' && ch <= 'z')
{
ch = ch - 'a' + 'A';
}
putchar(ch);
}
putchar('\n');
return 0;
} 本帖最后由 jhq999 于 2021-12-13 14:44 编辑
ch = ch - 'a' + 'A'//小写变大写,ch='a';ch = ch - 'a' + 'A'=0+‘A'='A';ch='b';ch = ch - 'a' + 'A'=1+'A’=‘B';
ch = ch - ‘A’ + ‘a’//大写变小写 这不就是大小写互转吗 ch = ch - 'a' + 'A' = ch - (97 - 65) = ch- 32
ch = ch - ‘A’ + ‘a’ = ch - (65 - 97) = ch + 32
你的代码我运行了一下,结果是一样的
这是我写的
#include <stdio.h>
int main()
{
char ch;
printf("请输入一串字符串:");
while((ch = getchar()) != '\n')
{
if(ch >= 'a' && ch <= 'z')
ch = ch -32;
else if(ch >= 'A' && ch <= 'Z')
ch = ch + 32;
putchar(ch);
}
putchar('\n');
return 0;
}
页:
[1]