913619957 发表于 2021-1-12 20:58:01

为什么只输出第一个else if的结果

#include <stdio.h>

void main()
{
        char c;
        printf("input a character:");
        c=getchar();
        if(c<32)
        {
                printf("this is a control character\n");
        }
        else if(c>='0'&&c<='9')
        {
                printf("this is a digit\n");
        }
        else if(c>'A'&&c<='Z')
        {
                printf("this is a capital letter\n");
        }
        else if(c>='a'&&c<='z')
        {
                printf("this is a small letter\n");
        }
}

913619957 发表于 2021-1-12 21:03:15

懂了

昨非 发表于 2021-1-12 21:03:27

只要你输入没问题
不应该出问题的
#include <stdio.h>

void main()
{
        char c;
        printf("input a character:");
        c = getchar();
        if (c < 32)
        {
                printf("this is a control character\n");
        }
        else if (c >= '0' && c <= '9')
        {
                printf("this is a digit\n");
        }
        else if (c >= 'A' && c <= 'Z')    //这里A前少了个等号,其他没有问题
        {
                printf("this is a capital letter\n");
        }
        else if (c >= 'a' && c <= 'z')
        {
                printf("this is a small letter\n");
        }
}

913619957 发表于 2021-1-12 21:05:13

昨非 发表于 2021-1-12 21:03
只要你输入没问题
不应该出问题的

是视频里少打了最后的else!!{:5_90:}

昨非 发表于 2021-1-12 21:08:25

913619957 发表于 2021-1-12 21:05
是视频里少打了最后的else!!

啊这,那没事了

风过无痕1989 发表于 2021-1-12 23:10:16

913619957 发表于 2021-1-12 21:03
懂了

懂了,可以自改为“已经解决”帖子
页: [1]
查看完整版本: 为什么只输出第一个else if的结果