Saber se uma string está em um array!

Olá, gostaria de tirar uma duvida sobre um exercicio de strings que estou tentando fazer, o objetivo dele e inserir 5 strings em um array (chamei de stringUm) e depois inserir uma outra string (chamei de stringDois) para comprar se a se a ‘stringDois’ se encontra no array das ‘stringUm’, porem quando eu tento comparar as duas usando o strcmp, tenho o seguinte erro:

passing argument 2 of ‘strcmp’ makes pointer from integer without a cast [-Wint-conversion]

Vou deixar logo abaixo o meu codigo pra vcs darem uma olhada tambem, obrigado!

//

#include <stdio.h>
#include <string.h>

#define T 100
#define Q 5

int main() {
    char stringUm[Q][T], stringDois[T];

    printf("DIGITE 5 PALAVRAS DIFERENTES A SEGUIR:\n");

    for (int i = 0; i < Q; i++) {
        scanf("\n%s", stringUm[i]);
    }

    for (int i = 0; i < Q; i++) {
        printf("A PALAVRA '%s' ESTA LOCALIZADA NO INDICE [%d]\n", stringUm[i], i);
    }

    printf("DIGITE A PALAVRA DA STRING 2");
    scanf("%s", stringDois);

    for (int i = 0; i < Q; i++) {
        if ( strcmp (stringUm[i], stringDois[i]) == 0){
            printf("A STRING FOI ENCONTRADA NO INDICE [%d]", i);
        } else {
            printf("STRING NAO ENCONTRADA!");
        }
    }
    return 0;
}

Você disse que tem

Uma variável chamada stringUm que representa um vetor de 5 posições com 100 posições cada e uma variável chamada stringDois que representa um vetor de char com 100 posições.
Porém, ao tentar comparar, você faz isso:

Ou seja, compara a cadeia de char da iésima posição com uma posição específica do vetor stringDois.
Ou você comparar char a char ou você remove o [i] após stringDois

strcmp (stringUm[i], stringDois).

Porém, faz séculos que eu não programo em C, então, não sei se é só isso.

1 curtida

Era exatamente isso, muito obrigado pela explicação, me ajudou muito!! :sweat_smile: