大写字母应该变成小写,小写到大写,数字加1,并且9变成0。当包含标准输入时,我的代码有效,但是每次按Enter键,命令行仍返回0。 / p>
#include <stdio.h>
int main()
{
char c;
int i;
for (i=0;i<=2132;i++)
{
c = getchar();
if(c>='a' && c<='z')
{
c-=32;
}
else if(c>='A' && c<='Z')
{
c+=32;
}
else if(c>='0' && c<'9')
{
c++;
}
else if(c='9')
{
c-=9;
}
putchar(c);
}
return 0;
}
答案 0 :(得分:2)
错误发生在第else if(c='9')
行。请注意,在所有其他情况下,您都在使用比较,而在这里,您将c
分配给'9'
。区别在于您使用的是=
而不是==
,因此,如果c
是数字9,则所有四个if / else if语句都会失败。
使用(c == '9')
检查字符c
是否等于数字9。