大写字母应该变为小写,小写变为大写,数字增加1,9变为0.当包含标准输入时,我的代码可以工作,但每次按Enter键时命令行都会返回0
#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;
}
这个错误发生在else if(c='9')
线上。
请注意,在所有其他情况下,您正在使用比较,而在这里您将c
分配给'9'
。区别在于您使用=
而不是==
,因此如果c
是数字9,则所有四个if / else if语句都评估为false。
使用(c == '9')
检查字符c
是否等于数字九。