0
我試圖使用功能不工作來比較兩個字符串:順序查找用C
void pesquisa_sequencial (trabalho *v, int max_vetor, char *pesq[]){
int i;
for (i = 0; i < max_vetor; i++) {
if ((strcmp(v[i].nome1,pesq[MAX]) == 0) || (strcmp(v[i].nome2,pesq[MAX]) == 0)){
printf("\n");
printf("Nome: %s\n",pesq[MAX]);
printf("Nota: %d\n",v[i].nota);
}
printf("\nNome %s não encontrado na lista.\n", pesq[MAX]);
}
}
「trabalho * V」是strcut是我的.h一個使用
typedef struct trabalho {
int nota;
char nome1[MAX], nome2[MAX];
} trabalho;
PESQ是我的主要代碼字符變量:
char pesq[MAX];
MAX = 100.
而「max_vetor」是我縮放的矢量的大小
但是,當我編譯代碼我有此menssages:
的main.c中:150:55:警告:從兼容的指針類型傳遞 'pesquisa_sequencial' 的參數3 [-Wincompatible指針類型] pesquisa_sequencial(vetor,numero_trabalhos,pesq);
main.c中:78:6:注:應爲 '字符**',但參數的類型 '字符*' 空隙pesquisa_sequencial(trabalho * V,INT max_vetor,字符* PESQ []){
150線
case 5:
printf("Digite o nome a ser pesquisado: \n");
scanf("%s", &pesq[MAX]);
pesquisa_sequencial (vetor, numero_trabalhos, pesq);
break;
這個錯誤在main.c行150.你沒有包括那一行。請包括一個最小完整的可驗證示例。 –
現在我們需要看看'pesq'是如何聲明的。請記住'char * pesq []'('pesquisa_sequencial()'的第三個參數)是一個指針數組,而不是指向數組的指針。 – e0k
請提供[mcve]。 –