Pular para o conteúdo

Corrijindo o erro em println na linguagem C

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Corrijindo o erro em println na linguagem C

Enviado em 15/04/2026 - 17:08h

Olá?
Tenho um código feito em C e ele não está retornando o println
Queria saber como corrijo o erro?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <ctype.h>
#include <stdbool.h>

void rPrintln(const char *message){
if(message == NULL) {
printf("\n");
} else {
printf(message);
printf("\n");
}
}
double mathMin(double a,double b){
return fmin(a,b);
}
int main(){
double numero3 = 15.5;
double numero4 = 12.3;

// Encontrar o mínimo entre dois números de ponto flutuante
double minimoDouble = mathMin(numero3, numero4);
rPrintln("Mínimo entre %f e %f = %f", numero3, numero4, minimoDouble);

}

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Corrijindo o erro em println na linguagem C

Enviado em 15/04/2026 - 18:02h

Boa noite.

Gostaria de saber em qual ambiente você está compilando?

Se é Linux ou Windows.

Pergunto isso pois, quando comecei a programar em C, notei que o compilador do Windows não detectava alguns erros que o do Linux detectava.

Ao compilar seu programa aqui no meu Linux, o gcc me deu o seguinte aviso:



gcc teste.c
teste.c: In function ‘main’:
teste.c:29:3: error: too many arguments to function ‘rPrintln’; expected 1, have 4
29 | rPrintln("Mínimo entre %f e %f = %f", numero3, numero4, minimoDouble);
| ^~~~~~~~ ~~~~~~~
teste.c:9:6: note: declared here
9 | void rPrintln(const char *message){
| ^~~~~~~~


Para corrigir isso, você deve:

1) Usar a biblioteca stdarg.h.
2) Alterar o protótipo da função rPrintln para a seguinte:
void rPrintln(const char *message, ...) 

3) Usar va_list e vprintf para printar o conteúdo da variável message.

Seguindo esses passos, você terá que compilar da seguinte maneira e obterá a saída a seguir:


gcc teste.c -lm
./a.out
Mínimo entre 15.500000 e 12.300000 = 12.300000

3. Re: Corrijindo o erro em println na linguagem C

Enviado em 15/04/2026 - 19:00h

Quando compilo no Windows

gcc test.c -o test.exe -lm


Aparece o erro que você codou
Uso o
MSYS2

Terminal Linux no Windows
(gcc e g++ do Linux para Windows)
e está gerando esse erro

4. Re: Corrijindo o erro em println na linguagem C

Enviado em 15/04/2026 - 19:03h

Poderia fornercer o código?

5. Re: Corrijindo o erro em println na linguagem C

Enviado em 15/04/2026 - 19:05h


JorgeLuizGS escreveu:

Poderia fornercer o código?


O seu código com as minhas correções ficou assim:


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <ctype.h>
#include <stdbool.h>
#include <stdarg.h>

void rPrintln(const char *message, ...){
if(message == NULL) {
printf("\n");
}
else {
va_list args;
va_start(args, message);
vprintf(message, args);
va_end(args);
printf("\n");
}
}

double mathMin(double a,double b){
return fmin(a,b);
}

int main(void){
double numero3 = 15.5;
double numero4 = 12.3;

// Encontrar o mínimo entre dois números de ponto flutuante
double minimoDouble = mathMin(numero3, numero4);
rPrintln("Mínimo entre %f e %f = %f", numero3, numero4, minimoDouble);
}



Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder