Tipos conflictivos en C

Estaba intentando construir un progtwig muy simple en C que devuelve un valor flotante de una función, pero por alguna razón recibí un error.

#include int main(){ double returning; returning = regre(); printf("%f", returning); return 0; } double regre(){ double re = 14.35; return re; } 

El error que estoy recibiendo dice:

tipos conflictivos para ‘regre’

anterior statement implícita de regre estaba aquí

Ese mensaje de error le está diciendo exactamente lo que está pasando: hay una statement implícita de regre porque no la define hasta después de main() . Solo agregue una statement hacia adelante:

 double regre(); 

Antes de main() , o simplemente mueve toda la función hacia arriba.

 previous implicit declaration of `regre` was here 

Si una función es desconocida, el comstackdor la considera como int functionname() por defecto. En su caso se int regre() aquí.

 conflicting types for 'regre' 

Cuando se nota su función real double regre() , se produce este error de conflicto. Para resolver este problema, la función doble regre () debe declararse antes de su uso real.

 #include double regre(); //Forward Declaration int main(){ double returning; returning = regre(); printf("%f", returning); return 0; } double regre(){ double re = 14.35; return re; } 

Para obtener más información sobre la Declaración Adelante, consulte el siguiente enlace.

http://en.wikipedia.org/wiki/Forward_declaration

En C, siempre que utilice una función por llamada por valor o por referencia, esas funciones por defecto serán de tipo int. Cuando utilice cualquier función que sea su tipo, deberá definir el prototipo de función en el progtwig antes de llamar a esa función. La mejor manera es definir todas las funciones del prototipo antes de la principal, que es la buena manera de progtwigr. Llegando a su progtwig, simplemente defina el prototipo como doble regre (); antes principal

 double regre(); main() {