Aqui lo unico que yo hice fue cambiar un poquito tu codigo, para que lo veas de un punto de vista diferente
#include <stdio.h>
#include <conio.h>
// Hay va la explicación mas o menos
// Declaracion de la funcion, Aqui es muy importante hacer
// Una funcion que trabaje a la perfección
// Aqui la funcion solucion lo que hace es calcular el valor de 'y'
// A partir de un valor De 'x', la pendiente 'm' y el valor constante 'b'
// Entonces una buena funcion debe recibir los tres parametros
// Antes mencionados
float Solucion(float m, float x, float b);
// Otra funcion que tienes es la de imprimir en pantalla el valor
// Que se obtuvo de la funcion solucion, tambien seria imprecindible que
// Reciba los tres parametros de la funcion anterior con el resultado
// Que se obtuvo al llamar la funcion.
void Print(float m, float x, float b, float y);
void main(void)
{
// Si vas a usar las variables declaradas, en este caso con el scanf
// Entonces no es necesario inicializarlas con algun valor
// Y almenos a mi para, este tipo de programas no me gusta hacer
// Declaraciones globales, pero bueno cada quien tendra su punto de vista
float x;
float y;
float b;
float m;
// Pides al usuario que introduzca los datos necesarios para el calculo
printf("Introduce El Valor De La Pendiente m: ");
scanf("%f",&m);
printf("Introduce El Valor De x: ");
scanf("%f",&x);
printf("Introduce El Valor De b: ");
scanf("%f",&b);
// Mandas Llamar a la funcion Solucion don el valor que retorna
// Sera guardado en la variable y
y = Solucion(m, x, b);
// Manda llamar a la funcion Print donde esta lo unico que
// Hace es imprimir los valores, y no retorna ningun valor
Print( m, x, b, y );
getche();
}
float Solucion(float m, float x, float b)
{
return ( m*x + b );
}
void Print(float m, float x, float b, float y)
{
printf("\n\n\n\tEl resultado de y = mx + b es: %f\n", y);
printf("\n\tDonde m = %f\n", m);
printf("\n\tx = %f\n", x);
printf("\n\tb = %f\n", b);
}
Espero te sirva!!!