gpt4 book ai didi

c - 迭代 C 字符串不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:05 25 4
gpt4 key购买 nike

首先,我对这段代码的目标是:将一个句子放入一个 C 字符串中。遍历句子并查看特定字母出现了多少次。

此代码有些工作但没有给出正确的数字?不知道为什么:

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

int tracker=0;
int letterCount (char *sentence)
{
int s=strlen(sentence);
int i=0;


for (i=0; i<s; i++){
if (sentence[i]=='h') {
tracker++;
}
}
return tracker;
}

int main(int argc, const char * argv[])
{

char *string="Hi there, what's going on? How's it going?";


letterCount(string);

printf("this sentensce has %i H's", tracker);


return 0;
}

我得到的输出:

this sentensce has 2 H's

不太对。有什么想法吗?

最佳答案

如果你的意思是不区分大小写,这是正确的代码 H:

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

int tracker=0;
int letterCount (char *sentence)
{
int s=strlen(sentence);
int i=0;


for (i=0; i<s; i++){
if (sentence[i]=='h' || sentence[i]=='H') { //'h' is not the same as 'H'
tracker++;
}
}
return tracker;
}

int main(int argc, const char * argv[])
{

char *string="Hi there, what's going on? How's it going?";


letterCount(string);

printf("this sentensce has %i H's", tracker);


return 0;
}

您刚刚在代码中拼错了小写字母和大写字母。记住,C 语言是区分大小写的!

关于c - 迭代 C 字符串不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11514152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com