gpt4 book ai didi

c - 在 C 程序中打印比计算出的平均字数更长的内容

转载 作者:行者123 更新时间:2023-11-30 15:46:54 28 4
gpt4 key购买 nike

我有一个程序,当前将单词读入变量 *char wordlist[lengthOfArray];所以基本上它包含 char word[10]。我可以成功计算平均单词长度,但我有一个方法,我想递归地打印比这个平均值更长的单词

void printAverage(char *wordlist, int n, int average){
if (n > 0){
if (strlen(wordlist[0]) > average){
printf("%s\n", wordlist[0]); // Print the one longer than average then move on
printAverage(wordlist + 1, n-1, average);
}
else {
printAverage(wordlist+1, n-1, average);
}
}
}

我在网上查找了几个小时,看看出了什么问题,但由于某种原因,比较if (strlen(a[0]) >average) 没有正确获取我的单词的值,并给我错误传递 strlen 的 arg 1 使指针来自 Integer 而不进行强制转换。

有谁知道我该如何正确地做到这一点?预先感谢您的任何帮助,我只是陷入困境,我已经尝试了很多方法但无济于事。

最佳答案

你的变量wordlist不是一个单词数组 - 它是一个字符串。如果你有一个单词数组,它要么是一个像这样的二维数组:

char *wordlist[]

或者这个:

char wordlist[][10]

或者像这样的双指针:

char **wordlist

您需要根据传入的实际数据来设置参数。

关于c - 在 C 程序中打印比计算出的平均字数更长的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17915453/

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