为什么我得到了错误的输出,我该如何解决这个问题?

我试图编写一个程序来计算给定字符串中给定字符的出现次数。

这是程序:

#include <stdio.h>
#include <string.h>

int find_c(char s[], char c)
{
    int count;
    int i;
    for(i=0; i < strlen(s); i++)
        if(s[i] == c)
            count++;
   return count;
}

int main()
{
    int number;
    char s[] = "fighjudredifind";
    number = find_c(s, 'd');
    printf("%d\n",number);
    return 0;
}

我期待以下输出:

3

因为字符 'd' 在字符串 s 中出现的次数是 3。

每次我尝试运行该程序时,屏幕上都会显示不同的数字。例如,我在一次运行程序时得到以下输出:

-378387261

并在再次运行程序时得到了这个输出:

141456579

为什么我得到了错误的输出,我该如何解决这个问题?

提前致谢!

斯里普尔纳

嗯,你的代码很好。唯一的错误是,您没有将计数初始化为 0。如果您不初始化该变量将保存垃圾值,并且您将对该值执行操作。结果,在前面的情况下,每次执行程序时,您都会获得所有垃圾值。

这是代码:

#include <stdio.h>
#include <string.h>

int find_c(char s[], char c) {
  int count=0;
  int i;
  for(i=0; i < strlen(s); i++)
    if(s[i] == c)
      count++;
      return count;
}

int main() {
  int number;
  char s[] = "fighjudredifind";
  number = find_c(s, 'd');
  printf("%d\n",number);
  return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我不能写两个条件?我该如何解决这个问题?

错误检查尝试,我该如何解决这个问题?

为什么我的输出是“()”,我该如何解决?

我在运行 Flutter 默认的初始计数器应用程序时在控制台上得到了这个。我该如何解决这个问题?

我该如何解决这个问题?

我该如何解决这个问题?

我该如何解决这个问题?

我写了这段代码并收到了这个错误。我应该如何解决这个问题?

为什么 vstack 会改变元素的类型?我该如何解决这个问题?

utorrent为什么不起作用?我该如何解决这个问题?

为什么不读取客户数据?我该如何解决这个问题?

为什么打字稿抱怨过滤器,我该如何解决这个问题?

为什么我得到这个错误的输出?

为什么我得到这个错误的输出?

我该如何解决这个问题,以及解决该问题的合适算法是什么

'Value' 的错误参数 #3(预期字符串,得到对象) - 我该如何解决这个问题?

我该如何解决这个问题?让我烦了很久

我收到一个逻辑错误,我该如何解决这个问题?

XAMMP- localhost 永远加载,我收到错误 403。我该如何解决这个问题?

什么是错误?我该如何解决?

我在这条简单的线上遇到了这个烦人的错误,我该如何解决?| Discord.js

这个错误试图告诉我什么,我该如何解决?

我该如何解决这个 javascript 数学问题?

我该如何解决这个奇怪的SSD问题?

我该如何解决这个 <a href> 问题?

我该如何解决这个 Laravel 项目安装问题?

我该如何解决这个CRUD问题

我该如何解决这个GParted问题?

情节传奇消失了,我该如何解决这个问题?