我正在尝试将此数组发送到函数sortByLength
。
函数原型是
sortByLength(char *words[],int * lengths, const int size);
这是我的其余代码,直到我尝试将其传递给函数:
#include <stdio.h>
#include "task2.h"
#define SIZE 3
int main(void)
{
int i;
int lengths[SIZE] = {3, 4, 6};
char words[][20] = {"Sun", "Rain", "Cloudy"};
sortByLength(words[][20],lengths,SIZE);
return 0;
}
答案 0 :(得分:2)
原型
sortByLength(char *words[],int * lengths, const int size);
相当于
sortByLength(char **words,int * lengths, const int size);
传递给函数时, words[][20]
将转换为指向20
char
s 数组的指针。 char **
和char (*)[20]
是不兼容的类型。将函数原型更改为
sortByLength(char (*words)[20], int *lengths, const int size);