gpt4 book ai didi

C - 在word中搜索一个字母

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:18 26 4
gpt4 key购买 nike

我正在尝试创建一个函数,它有两个参数,一个是单词,一个是要在单词中搜索的字母。

单词实际上是一个数组,其中每个字母都是数组的一个元素,例如对于单词“word”,我们有以下内容:单词 = [w, o, r, d]。

因此我必须将 word[ ] 的每个元素与字母进行比较,如果它们匹配,函数应返回 1,否则返回 0。代码如下:

char ltt_srch(char word[], char ltt)//LINE 13
{
int len, i;
len = sizeof(word)/sizeof(word[0]);
for(i = 0; i < len; i++)
{
if(ltt == word[i])
{
return 1;
}
}
return 0;
}

我使用以下代码在 main 中调用 ltt_srch:

if(ltt_srch(word[len], ltt) == 0)//LINE 51
{
printf("Letter not found.\n");
}

但我收到一个警告和一个注释,特别是:

第 13 行:[注意] 应为 'char *' 但参数类型为 'char'

第 51 行:[警告] 传递“ltt_srch”的参数 1 使指针来自整数而不进行强制转换

最佳答案

问题是您传递的是 word[len] 而不是 word 作为您的第一个参数。如果您传递 word[len],您将传递 word 的索引 len 上的字符,而不是 word 本身.

例如,如果 word = "word"len = 2,则 word[len] == 'r'

解决方案:

if(ltt_srch(word, ltt) == 0) 而不是 if(ltt_srch(word[len], ltt) == 0)

关于C - 在word中搜索一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41141798/

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