c - 如何调用函数
问题描述
我正在尝试调用我创建的函数。这将需要一个 double 然后将它们四舍五入到小数点后两位。
我试图将参数“x”放在“roundnum”的参数中,但这会导致错误。
#include <stdio.h>
#include <math.h>
double roundnum(double x);
int
main(void)
{
double n;
int roundedn;
printf("Enter the number:\n");
scanf("%lf", &n);
printf("Rounded %.2f\n", roundnum(n));
return 0;
}
double
roundnum(double x)
{
double n;
int number = (int)(n + .5);
return number;
}
如果我在 3.145 中扫描,预期的输出应该是 3.15000。
解决方案
我相信在您的函数中roundnum()
,您从未将传入参数值分配n
给. 所以 x 永远不会被分配并且默认为零。x
roundnum()
从逻辑上讲,一旦将 的值x
分配给 n ,函数就会起作用:
double
roundnum(double x)
{
double n;
n=x;
int number = (int)(n + .5);
return number;
}
并简化功能以提高效率:
double
roundnum(double x)
{
return((int)(x + .5));
}
推荐阅读
- javascript -
- r - Change normal regression model to rolling regression
- amazon-web-services - ansible-inventory not working properly with ec2.py when using --profile
- javascript - My RSA encryption and decryption function in JS doesn't work
- html - Slick Carousel 的宽度大于父元素
- c - C和GDB中地址打印值之间的差异
- xcode - 在目标 [Xcode 11] 之间共享文件夹和文件(如 Utilities.swift 文件)
- gnuplot - gnuplot:来自 url 的数据
- android-studio - 在 Android Studio 中自动完成整行的快捷方式是什么?
- image - Python:使用带有滑块权重的图像更新绘图