Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O que quer dizer o problema "muitos argumentos na chamada da função"?

O meu IDE ele relatar esse problema "muitos argumentos na chamada da função",entretanto o meu programa C ele roda e executa sem problema.

#include <stdio.h>

#define NUMERO_DE_TENTATIVA 5

int main(){

    //imprime cabeçalho do jogo.
    printf("************************************\n");
    printf("* Bem-vindo ao jogo de adivinhação *\n");
    printf("************************************\n\n");

    for (int i = 1; i <= NUMERO_DE_TENTATIVA; i++)
    {
        printf("Tentativa %d de %d\n",i,NUMERO_DE_TENTATIVA); //linha que ele relata o problema

        int chute;
        int numerosegredo = 42;

        printf("Qual é o seu chute? ");
        scanf("%d", &chute);

        if (chute < 0 )
        {
            printf("Você não pode chutar números negativos.\n");
            i--;
            continue;
        }

        int acertou = (chute == numerosegredo);
        int maior = (chute < numerosegredo);

        if(acertou) {
            printf("\nParabéns! Você acertou o número segredo!\n");
            printf("Jogue de novo, você é um ótimo jogador!\n");
            break;
        }
        if(maior) {
            printf("Seu chute foi menor que o número segredo.\n\n");
        }else {
            printf("Seu chute foi maior que o número segredo.\n\n");
        }
    }
    printf("\nFim do jogo\n");
}

OBS.: Ele relata esse problema na linha do printf("Tentativa %d de %d\n",i,NUMERO_DE_TENTATIVA);"

2 respostas
solução!

Olá Pedro, tudo bem com você?

Realmente não há problema nenhum em seu código, provavelmente é apenas um bug com a IDE que você está utilizando mesmo!

Mas esse "erro" as vezes será verdadeiro quando criamos uma função por exemplo:

int somar(int valor1, int valor2) {
    return valor1 + valor2;
}

E depois tentamos utilizar passando mais parâmetros do que a função recebe de argumento:

int resultado = somar( 42, 8, 50);
>> error: too many arguments to function ‘somar

No seu caso esse erro só iria aparecer, se você passasse 3 valores no seu printf, pois você só definiu 2 máscaras com o %d, entretanto você está utilizando corretamente, então provavelmente só foi um bug :)

Abraços e Bons Estudos!

Obrigado pela resposta.