Ir ao conteúdo

Usando operadores lógicos em string's


diego5672

Posts recomendados

Postado

Bom galera, desculpem minha ignorância pois não domino muito bem as strings em C, queria saber por que este seguinte trecho de codigo não compila:

printf("Digite o sexo: obs.: M ou F\n");fflush(stdin);gets(sexo[l]);while(sexo[l] != 'M' || sexo[l] != 'F'){ 	system("cls");	printf("Sexo invalido:\n\n");	printf("Insira M ou F:\n");	fflush(stdin);	gets(sexo[l]);}

   Na linha do while, o operador lógico "!=" não funciona com a string. Já declarei string.h, delimitei o vetor de string, mas mesmo assim o erro persiste.

Tá aí no DEV C++:

 

pqp.jpg

Postado

A função gets() recebe como parâmetro um "char*", mas dependendo de como você declarou essa string "sexo", você parece estar passando um "char" apenas.

Como você declarou essa string "sexo"?

 

Além disso, seu código tá em C ou C++? Se tá em C, por que tá compilando ele como C++? E se tá em C++, por que tá usando funções do C?

Postado

Não pode haver comparações entre ponteiro e inteiro. Na declaração Sexo que é um ponteiro de ponteiro logo o compilador não da permissão para conversão de tipos na comparação.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...