我有一个程序当前将单词读入变量 *char wordlist[lengthOfArray]; 所以基本上它包含字符字[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) 没有正确地得到我的话的价值,并给我传递 arg 1 的错误的 strlen 使指针从 Integer 不进行强制转换。
有谁知道我如何正确地做到这一点?在此先感谢您的帮助,我只是卡住了,我已经尝试了很多东西都无济于事。