Ir ao conteúdo
  • Cadastre-se

Char não está funcionando


Jess

Posts recomendados

Ola pessoal, acho q minha dúvida é simples pra vocês...

int main(int argc, char *argv[])

{

char cont[10], amer[10], estado[10];

printf("ENCONTRE A CAPITAL!!! DIGITE S PARA SIM E N PARA NAO.\n\n");

printf("FAZ PARTE DO CONTINENTE AMERICANO?");

gets(cont);

if (cont=="s" || cont=="S")

{

printf("FAZ PARTE DA AMERICA DO NORTE?\n\n");

}

else

{

printf("FAZ PARTE DA AMERICA DO SUL?\n\n");

}

system("PAUSE");

return 0;

}

No programa acima independente se eu digito s ou não, ele faz a condição ELSE, não consigo fazer com que faça a primeira condição (IF).

Muito obrigado.

Link para o comentário
Compartilhar em outros sites

O seu código está em C, se ele está em C então não existe operador == definido para string, se não existe == definido para string então (cont == "s" || cont == "S") não faz sentido, se a sua condição não faz sentido não tem jeito do if funcionar (pelo menos não do jeito que é esperado).

Nunca use gets(), use fgets (stdin, ...).

Link para o comentário
Compartilhar em outros sites

só pra complementar.

A comparação em C é feita por 'strcmp( string1 , string2 )', da <string.h> e retorna 0 se forem iguais, negativo se a string 1 for lexograficamente menor que a string dois e positivo se for o oposto.

Se tiver dúvidas de como usar alguma função (como o fgets que o Caio comentou) procure no site http://www.cplusplus.com

Abraço.

Link para o comentário
Compartilhar em outros sites

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...