c - 使用函数时无法获得小数?
问题描述
所以我在练习使用函数时遇到了问题。我制作了一个程序,将用户输入的两个数字相除,但我使用了一个函数来编写它。现在,当我使用函数时,我得到的最终答案不是十进制数,即使我使用的是双精度数据类型。当我不使用函数编写程序时,我没有任何问题,但是一旦我使用函数,我就无法获得十进制数。如果有人可以帮助我,我将不胜感激!谢谢!
这是代码:
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;
}
解决方案
当你声明你的函数时,你需要指定一个类型,或者默认是int
:
你double divide(num1,num2)
被读为double divide(int num1,int num2)
- 但你想要double divide(double num1,double num2)
推荐阅读
- css - 背景图像悬停时的线性渐变
- javascript - JavaScript 一个接一个地运行一个函数
- swift - ARKit 将 ARFaceAnchor.lookAtPoint 转换为世界坐标
- javascript - 无服务器自定义授权器结果未定义
- hostname - 什么以及为什么我的 $HOSTNAME 是 hitronhub.home?
- excel - 我可以使用任何公式/方法将 A 列中的每一行与 B 列中的每一行连接起来吗?
- android - 当滚动超出最初可见的内容时,无法在回收站视图中访问文本视图
- asp.net-mvc - 如何解决“/”应用程序中的服务器错误
- python - 如何将布尔张量打包成 int32 张量的位?
- swift - 如何通过 urlsession 更新 uitableview 单元格中的进度视图(下载/上传文件)