C简介:功能声明

And*_* Hu 2 c debugging declaration function absolute-value

我想在ANSI C的代码中声明一个函数.我可以在main()中使用它后定义函数吗?例如,我写的绝对值函数:谁能告诉我它是否合理?

#include <stdio.h>

int main()
{
    double value1 = -5;
    printf("%lf",
           abs(value1));
}

double abs(double number)
{
    if (number < 0) {
        (number * (-1) = number);
    }
    return number;
}
Run Code Online (Sandbox Code Playgroud)

Pau*_*l R 5

你需要解决一些问题:

#include <stdio.h>

double abs(double number); // <<< 1. prototype here

int main()
{
    double value1 = -5;

    printf("%lf",
           abs(value1));
}

double abs(double number)
{
    if (number < 0) {
        number = number * -1.0; // <<< 2. fix here
    }
    return number;
}
Run Code Online (Sandbox Code Playgroud)
  1. abs函数需要一个原型,以便编译器在调用它之前知道它的函数签名

  2. 你否定的表达number是背靠背的