Ir ao conteúdo

Posts recomendados

Postado

Pessoal , estou com problema nessas linhas de código. Após inserir o nome 2 o console trava e a opção é encerrar o program, sem mostrar nenhuma das mensagens (Nome igual ou diferente).Segue o código:

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    char nome1[50], nome2[50];
    printf("digite o nome 1\n", nome1);
    gets(nome1);
    setbuf(stdin, NULL);
    printf("digite o nome 2\n", nome2);
    gets(nome2);
    if (strcmp(nome1, nome2==0))
    {
        printf("nomes iguais");
    }else{
        printf("nomes diferentes");
    }
    system("PAUSE");
    return 0;
}

 

Postado

@eliferreira Olá!

 

Evite a utilização das funções scanf() e gets(), alternativa? use fgets(). Seu erro foi na checagem usando (if), você não soube ou esqueceu de utilizar os parênteses para separar as ações, normalmente, deve-se separar por parênteses, cada ação de checagem. Por exemplo:

 

- Exemplo com cores para melhor compreensão:

( ( ( ação1 ) ação2 ) ação3 )

 

- Exemplo em código:

if (strcmp(nome1, nome2==0)){
  // Não funcional
}

if ((strcmp(nome1, nome2)) == 0) {
  // Funcional
}

 

 

Código já alterado (funcional):

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

int main()
{
  char nome1[50], nome2[50];

  printf("Digite o nome1: ");
  fgets(nome1, 50, stdin);

  printf("Digite o nome2: ");
  fgets(nome2, 50, stdin);

  if ((strcmp(nome1, nome2)) == 0)
  {
  	printf("Nomes iguais.\n");
  }
  else
  {
  	printf("Nomes diferentes.\n");
  }

  system("PAUSE");

  return 0;
}

Espero ter lhe ajudado, Até mais!!

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!