Ir ao conteúdo
  • Cadastre-se

C Programa sobre vetores strings


Posts recomendados

Boa tarde, eu fiz um programa que verifica se dois nomes digitados são iguais ou diferentes. Pois bem, fiz meu código e quando executo e insiro os dois nomes solicitados o programa simplesmente não me retorna nada e nem se encerra. O que será que deve haver de errado? Deixarei as imagens do código e da execução dele.

execuçao.png

exercicio.png

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Elias da Silva Jacobsen   o segundo while é controlado pela variável  e você está incrementando a variável   i   enquanto o  continua com o mesmo valor e por isso ele entra em loop infinito ,  mas para comparar strings na linguagem  c  seria melhor usar a função strcmp que faz essa comparação eficazmente , então a comparação seria assim  :

if(strcmp(nome1,nome2)==0){/*se for zero é igual , se for < então a primeira vem antes na ordem alfabética e se for > vem depois*/
    o que fazer . . . !
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Elias da Silva Jacobsen Seu código ficaria assim:

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

void limpa_linha() {
    scanf("%*[^\n]");
    scanf("%*c");
}

int main() {

    char nome1[50], nome2[50];

    printf("digite o nome 1: ");
    scanf("%[^\n]", nome1);
    limpa_linha();

    printf("digite o nome 2: ");
    scanf("%[^\n]", nome2);
    limpa_linha();

    if (!strcmp(nome1, nome2))
        printf("\nNomes iguais\n");
    else
        printf("\nNomes diferentes\n");

    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

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