C语言中void和float函数之间的区别

我正在上Udemy C课程,并且对C中的函数产生了一些疑问。它的其中一项练习是关于使用函数进行温度转换(摄氏,F和K)的,而我的第一个念头是:

void CF(){
    float temp1, temp2;

    printf("Escribe que temperatura quieres convertir a Fahrenheit: ");
    scanf("%f", &temp1);

    temp2 = (temp1 * 1.8) + 32;

    printf("La temperatura en Fahrenheit es: %f", temp2);
}

但是解决的练习使用:

float fahrenheit(float C){
    float F=0;
    F = (9*C)/5 + 32;
    return F;
}

在通过功能介绍的同时,通过“ int main”程序输入数据。

我的问题是:  -最好通过int主代码或函数引入数据?  -为什么他使用“浮动”功能而我使用“无效”功能并且在两种情况下都能正常工作?

无论如何,我的代码都可以,但是我想知道什么更好,为什么。

在此先感谢您,请原谅我的英语。