Ir para conteúdo
Fórum Script Brasil
  • 0

Problema Com O If


Felipedcb

Pergunta

O meu IF não está funcionando como deveria, exemplo:

#include <stdio.h>
void main()
{
 char nome[10];
 gets (nome);
 if (nome=="felipe")
 {
  printf("bonito nome");
 }
 else
 {
  printf("nome feio");
 }
}

Independente do valor que você colocar para a variável nome, ele mostra sempre o mesmo resultado "nome feio". Onde eu estou errando? (ou será q o C não quer aceitar mesmo que meu nome é bunito eiuheiuh)

Bom, isso ai é só um exemplo, eu preciso terminar o meu programa original.

[]'s,

Felipe

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

E ai Felipe,

O problema é que, em C, uma string é um vetor de letras. Assim, se você usar o operador de igualdade, ele vai verificar se os dois vetores são os mesmos, ao invés de verificar se o conteúdo deles é igual.

Pra corrigir, basta usar a funçao strcmp. Ela verifica letra por letra e retorna 0 se as strings forem iguais, <0 se a primeira string vem antes da segunda no dicionário e >0 nos demais casos.

 if (strcmp(nome, "felipe") == 0) {
    printf("bonito nome");
} else {
    printf("nome feio");
}

Té mais.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...