Ir ao conteúdo

Posts recomendados

Postado

Olá gente! Criei um algoritmo em C que é para pedir que a pessoa escreva 3 números e meu algorítmo diria qual é o maior, mas ele imprime um numero grande nada a ver.

 

int maior_inte() { int num1,num2,num3,maior;

if ((num1>num2) && (num1>num3))

{ maior = num1; }

else if (num2>num3)

{ maior = num2; }

else { maior = num3; }

return maior; }

int digitar(int num1, int num2, int num3)

{ printf("Digite um número: \n");

scanf("%d", &num1);

printf("Digite um segundo número:\n");

scanf("%d", &num2);

printf("Digite um número de novo:\n");

scanf("%d", &num3);

return 0; }

int main()

{ int numero,maior,num1,num2,num3;

digitar(num1,num2,num3);

maior_inte(num1,num2,num3, maior);

printf("O maior numero eh:%d \n", maior);

return 0;

}

 

Obrigada pela atenção!

Postado

Olá tudo bem?

 

 

Então, de cara encontrei um erro na definição dos parâmetro formal da função. Pois onde você vê isto:

int maior_inte() { int num1,num2,num3,maior;

 

O que serve para os convencionados parâmetros na  linguagem é isto:

int maior_inte(int num1, int num2, int num3, int maior){

 

 

Não sei ao certo, se isso será o bastante para concerta, mas com certeza é um problema.

Ok!? Tchau!

  • Curtir 1
Postado

Parece que dentro de main você está chamando a variável "maior" em vez da função "maior_inte".

 

E realmente o código está todo errado.

 

Veja isto também antes de postar algum código.

  • Curtir 1
Postado

@programadora Olá. A curto prazo procure evitar o uso d funções. Sugiro começar com exercícios mais simples

Seu código poderia ficar assim:

#include <stdio.h>

int maior_int(int num1, int num2, int num3) {

    int maior;

    if (num1 > num2 && num1 > num3)
        maior = num1;
    else if (num2 > num3)
        maior = num2;
    else
        maior = num3;

    return maior;
}


int main(void) {

    int maior, num1, num2, num3;

    printf("Digite um numero: ");
    scanf("%d", &num1);

    printf("Digite um segundo numero: ");
    scanf("%d", &num2);

    printf("Digite um numero de novo: ");
    scanf("%d", &num3);

    maior = maior_int(num1, num2, num3);

    printf("Maior numero: %d\n", maior);

    return 0;
}

Vê se conseguiu entender bem a lógica usada. Se tiver dúvidas pergunte!

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!