繁体   English   中英

计算字符串中相同字母的数量

[英]Count number of same letters in a string

我一直在阅读“ The C Programming Language”,但我遇到了这个问题,对于我发送的任何给定字符串,我的输出都是0

我的函数如下所示:

 int number_of_repeating(char *word,char k){
    int b=0,len=0,i;
    gets(word);
    len=strlen(word);
    for(i=0;i<len;i++){
        if(word[i]==k)
        b++;
    }
    return  b;
}

问题

我给他发送了一个单词,例如: Jhonny和字符n ,因此它应该计算单词中n的个数(在这种情况下,输出应为2)。

我究竟做错了什么?

#include <stdio.h>
int number_of_repeating(char *word,char k){
    int b=0,len=0,i;
    gets(word); //<------- You need to remove this one because it may overwrite
    len=strlen(word);
    for(i=0;i<len;i++){
        if(word[i]==k)
        b++;
    }
    return  b;
}
int main(void) {
    // your code goes here
    printf("%d",number_of_repeating("johnny",'n'));
    return 0;
}

如果在传递字符串时没有理由调用gets(),则可能是它,或者您的类型可能是错误的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM