C 函数返回(看似)随机整数

标签 c function double program-entry-point

这是我的代码:

#include <stdio.h>

double abs_diff(double x, double y) {
  double a = x - y;

  if ( a < 0 ) {
        a = -a;
  }

  printf ("$i", a);

  return 0;
}

int main() {
  abs_diff( 1.0, 4.0 );

  return 0;
}

我编译代码很好。然而,当我运行该程序时,它返回看似随机且不同的数字。该程序应该打印两个数字的绝对值。

当我将变量 a 更改为整数时,问题消失并打印整数,但我需要结果为 double 型,以防输入 double 型。我认为这与返回值有关?已经用尽了我的大部分选择。

感谢您的帮助或建议!

最佳答案

问题是 printf 格式。

您必须使用 %lf 进行双输出,因此:

printf ("%lf", a);

关于C 函数返回(看似)随机整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25969650/

相关文章:

c++ - 消除 HTML 的最佳 C/C++ 库?

c - 将用户输入添加到数组 (C)

使用一种功能复制文本和二进制文件?

swift - (Swift) 混淆了函数内 for-in 循环的返回值和循环之后的返回值(函数内))

php - sleep 功能占用服务器资源吗?

Java字符串解析错误

c - 字符串文字的静态持续时间

Javascript - 让函数告诉调用者函数何时完成

iphone - 如何创建浮点值的 NSMutableArray

c++ - 如何防止 ostringstream(或类似的)在不设置精度的情况下输出科学记数法