首页 > 解决方案 > 使用函数时无法获得小数?

问题描述

所以我在练习使用函数时遇到了问题。我制作了一个程序,将用户输入的两个数字相除,但我使用了一个函数来编写它。现在,当我使用函数时,我得到的最终答案不是十进制数,即使我使用的是双精度数据类型。当我不使用函数编写程序时,我没有任何问题,但是一旦我使用函数,我就无法获得十进制数。如果有人可以帮助我,我将不胜感激!谢谢!

这是代码:

double divide(num1,num2)
{
    double result;
    result = num1/num2;
    return result;
}

int main ()
{
    double num1;
    double num2;

    printf("Enter the first number: ");
    scanf("%lf", &num1);
    printf("Enter the second number: ");
    scanf("%lf", &num2);

    printf("The answer is: %lf", divide(num1,num2));

    return 0;
}

标签: cfunctiondecimal

解决方案


当你声明你的函数时,你需要指定一个类型,或者默认是int
double divide(num1,num2)被读为double divide(int num1,int num2)- 但你想要double divide(double num1,double num2)


推荐阅读