wmw暗 发表于 2017-9-16 23:46:55

为什么我运行后只能输出第一个else if ,为什么其他的都不行

#include <stdio.h>
void main()
{
        char c;
        printf("input a charcter:");
        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 lettter\n");
        }
        else if (c>='a'&&c<='z')
        {
                   printf("this is a small letter\n");
        }
        else
        {
                printf("this is an ther character\n");
        }
}

ba21 发表于 2017-9-16 23:52:26

测试没问题。

crymin 发表于 2017-9-17 23:28:34

代码真没问题,
尝试输入! 1 a A,会有不同提示的。

wmw暗 发表于 2017-9-20 17:59:14

crymin 发表于 2017-9-17 23:28
代码真没问题,
尝试输入! 1 a A,会有不同提示的。

我试试

研究生_mems 发表于 2017-9-20 18:21:56

把主函数返回值设为int,现在编译器逐渐不支持void main()这种写法了

wmw暗 发表于 2017-9-21 23:04:59

研究生_mems 发表于 2017-9-20 18:21
把主函数返回值设为int,现在编译器逐渐不支持void main()这种写法了

那要怎么改

桃花飞舞 发表于 2017-9-23 11:39:56

wmw暗 发表于 2017-9-21 23:04
那要怎么改

int main(void)

wmw暗 发表于 2017-9-24 20:10:50

桃花飞舞 发表于 2017-9-23 11:39
int main(void)

还是同一个答案,是我系统问题吗

桃花飞舞 发表于 2017-9-25 13:11:51

wmw暗 发表于 2017-9-24 20:10
还是同一个答案,是我系统问题吗

你是什么答案

wmw暗 发表于 2017-9-26 23:13:13

桃花飞舞 发表于 2017-9-25 13:11
你是什么答案

都是这个this is a digit

桃花飞舞 发表于 2017-9-27 13:09:21

wmw暗 发表于 2017-9-26 23:13
都是这个this is a digit

楼主贴出来的程序是没有问题的,如果实在不行楼主可以把第一个else if里边的printf("this is a digit");这一句注释掉,看看会怎样

wmw暗 发表于 2017-9-27 16:30:49

桃花飞舞 发表于 2017-9-27 13:09
楼主贴出来的程序是没有问题的,如果实在不行楼主可以把第一个else if里边的printf("this is a digit");这 ...

注释掉就什么都没有了,你说会不会是我编程系统的问题呀?

桃花飞舞 发表于 2017-9-28 10:37:53

wmw暗 发表于 2017-9-27 16:30
注释掉就什么都没有了,你说会不会是我编程系统的问题呀?

如果还是有你说的问题,你可以单独用if(){}语句 或者用switch() {} 来改写这个程序的
页: [1]
查看完整版本: 为什么我运行后只能输出第一个else if ,为什么其他的都不行