头发 发表于 2020-11-11 17:58:43

非常懵逼 求解

题目:从键盘输入一个字符串和一个字符,要求统计字符串长度和该字符在字符串中出现的次数。
#include<stdio.h>
int main()
{
        char a;
        int i=0,r=0;//r代表b这个字符出现几次
        char b;
        gets(a);
        b=getchar();
        for(i=0;a!='\0';i++)
        {
                if(a=b) r++;
        }
        printf("%d %d",i,r);
        return 0;
}
输出结果: i和r得值是相等的。

为啥会出现这种情况啊???

小甲鱼的铁粉 发表于 2020-11-11 18:03:13

if(a=b) r++;
不是=,应该是==

头发 发表于 2020-11-11 20:18:29

小甲鱼的铁粉 发表于 2020-11-11 18:03
不是=,应该是==

也不对,显示0

rt3 发表于 2020-11-12 08:22:51

头发 发表于 2020-11-11 20:18
也不对,显示0

下面是我的代码。测试 输入kaspersky k,输出为 9 2
#include<stdio.h>
int main()
{
      char a;
      int i=0,r=0;//r代表b这个字符出现几次
      char b;
      gets(a);
      b=getchar();
      for(i=0;a!='\0';i++)
      {
                if(a==b)r++;
      }
      printf("%d %d\n",i,r);
      return 0;
}
页: [1]
查看完整版本: 非常懵逼 求解