大小写转换的一个很简单的点
#include <stdio.h>int main()
{
char i;
int a,b;
printf("请输入一行英文句子:");
while((i=getchar())!='\n')
{
if(i<='Z' && i>='A')
{
i==i-32;
putchar(i);
}
else if(i<='z' && i>='a')
{
i==i+32;
putchar(i);
}
}
return 0;
}想请问为什么输出乱码
而且小甲鱼的办法会不会导致符号也改变呢?比如(!)-'a'+'A'就不知道会等于什么
谢谢!
本帖最后由 jackz007 于 2019-11-12 20:07 编辑
i == i - 32 ;
putchar(i);
} else if(i<='z' && i>='a') {
i == i + 32 ;
不乱码才是怪事!!!
改成下面这样试试看呢
i = i - 32 ; // 把 == 改成 =
putchar(i);
} else if(i<='z' && i>='a') {
i = i + 32 ; // 把 == 改成 = #include <stdio.h>
#include <Windows.h>
int main()
{
char i;
int a, b;
SetConsoleOutputCP (65001);
printf("请输入一行英文句子:");
while((i=getchar()) != '\n')
{
if(i<='Z' && i>='A')
{
i = i + ('a' - 'A');
}
else if(i<='z' && i>='a')
{
i = i - ('a' - 'A');
}
putchar(i);
}
return 0;
} jackz007 发表于 2019-11-12 20:03
i == i - 32 ;
putchar(i);
} else i ...
呜呜之前是只有一个等号的 但是还是乱码所以才试试两个等号的嗷
谢谢你!!我发现是我+-号写反了哈哈哈 jackz007 发表于 2019-11-12 20:03
i == i - 32 ;
putchar(i);
} else i ...
谢谢你帮我看这么蠢的码哈哈哈 太傻了太傻了我还是删掉吧 Charles未晞 发表于 2019-11-12 20:09
谢谢嗷
页:
[1]