905853663 发表于 2020-12-16 22:37:46

字符数

#include<stdio.h>
main()
{
        int x,a=0,b=0,c=0,d=0,e=0;
        printf("请输入一串字符:\n");
        while(1)
        {
       
        do
        {
        x=getchar();
        if (x>='a'&&x<='z')
        a++;
        else if (x>='0'&&x<='9')
        b++;
        else if (x==' ')
        c++;
        else if (x>='A'&&x<='Z')
        d++;
        else
        e++;
    }
        while (x!='\n');
        if (x=='\n')
          break;
   }
    printf("小写字母有%d个\n",a);
    printf("数字有%d个\n",b);
    printf("大写字母有%d个\n",d);
    printf("空格有%d个\n",c);
    printf("其他字符有%d个\n",e);
   
}

代码如上,求其他字符的时候结果是错误的,请问是为什么?

风过无痕1989 发表于 2020-12-16 23:24:08

其他字符指的是什么字符?键盘非字母?

905853663 发表于 2020-12-16 23:29:14

风过无痕1989 发表于 2020-12-16 23:24
其他字符指的是什么字符?键盘非字母?

是的,就是标点符号那些

风过无痕1989 发表于 2020-12-16 23:37:04

905853663 发表于 2020-12-16 23:29
是的,就是标点符号那些

我这里运行是正常的,各类字符,可以从图上数出来

905853663 发表于 2020-12-16 23:44:39

风过无痕1989 发表于 2020-12-16 23:37
我这里运行是正常的,各类字符,可以从图上数出来

这是咋回事,,,,对了,请问你是怎么发图片的。。。。

风过无痕1989 发表于 2020-12-17 01:25:59

905853663 发表于 2020-12-16 23:44
这是咋回事,,,,对了,请问你是怎么发图片的。。。。

你现在还发不了图片,看你头像下面的 荣誉 ,到100了就是 鱼友I 级别,就可以发图片了

905853663 发表于 2020-12-17 12:39:41

风过无痕1989 发表于 2020-12-17 01:25
你现在还发不了图片,看你头像下面的 荣誉 ,到100了就是 鱼友I 级别,就可以发图片了

噢噢这样,你试一下只输入标点符号,它好像就不正常了我这边也是有时候正常有时候不正常

风过无痕1989 发表于 2020-12-17 13:17:56

905853663 发表于 2020-12-17 12:39
噢噢这样,你试一下只输入标点符号,它好像就不正常了我这边也是有时候正常有时候不正常

也是正常的
有时正常有时不正常,你在第 2 行 main() 的前面,加上一个 int 或者 void 再试试。有些编译器,是一定要加的(比如我的 VS2015),有些不加也能编译通过。所以,在编写程序时,最好还是加上为好

905853663 发表于 2020-12-17 13:54:19

风过无痕1989 发表于 2020-12-17 13:17
也是正常的
有时正常有时不正常,你在第 2 行 main() 的前面,加上一个 int 或者 void 再试试。有些编译 ...

我是Dev c++的,也还是不行哦,算了,那就这样吧,,,
页: [1]
查看完整版本: 字符数