簡體   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