转换大小写帮忙看一下谢谢
#include<stdio.h>int main()
{
char a;
printf("请输入需转变的英文字符串\n");
printf("最后输入一个‘.’作为结束\n");
while(a=getchar()!='.');
{
if (a >= 'A' && a <= 'Z')
a=a+32;
else if (a >= 'a' && a <= 'z')
{
a=a-32;}
printf("%c\n",a);
}
return 0;
}
想用while getchar来实现整个字符串的转化,但运行结果为空是为什么啊
还有 怎么不用'.'作为结束命令 用回车作为啊 while后面的分号去掉,a = getchar()加个括号
#include<stdio.h>
int main() {
char a;
printf("请输入需转变的英文字符串\n");
printf("最后输入一个‘.’作为结束\n");
while((a=getchar())!='.') {
if (a >= 'A' && a <= 'Z')
a=a+32;
else if (a >= 'a' && a <= 'z') {
a=a-32;
}
printf("%c\n",a);
}
return 0;
} baige 发表于 2020-9-4 17:37
while后面的分号去掉,a = getchar()加个括号
老哥能解释下吗{:10_266:} 。。。 第一个优先级问题你的代码先执行getchar(),然后与'.'进行判断返回0,1, 第二个分号会导致只有输入最后一个放回0,退出while()循环去做下面的运算 baige 发表于 2020-9-4 20:43
第一个优先级问题你的代码先执行getchar(),然后与'.'进行判断返回0,1, 第二个分号会导致只有输入最后一个 ...
谢谢老哥
页:
[1]