为什么我的C代码在命令提示符中继续返回0?

问题描述 投票:2回答:1

大写字母应该变为小写,小写变为大写,数字增加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;
}
c char command-prompt
1个回答
2
投票

这个错误发生在else if(c='9')线上。

请注意,在所有其他情况下,您正在使用比较,而在这里您将c分配给'9'。区别在于您使用=而不是==,因此如果c是数字9,则所有四个if / else if语句都评估为false。

使用(c == '9')检查字符c是否等于数字九。

© www.soinside.com 2019 - 2024. All rights reserved.