冲突类型中的C错误

use*_*347 1 c compiler-errors

#define RAND_MAX 10
#include<stdio.h>
int main()
{
  double x;
  x=randRange(-1.0,1.0);
  printf("x value is %f::",x);
  return 0;
}

double randRange(double min, double max)
{
  return rand() * (max - min) / RAND_MAX + min;
}
Run Code Online (Sandbox Code Playgroud)

错误::下面的代码段是生成的错误 -

$gcc main.c -o demo -lm -pthread -lgmp -lreadline 2>&1
main.c:11:8: error: conflicting types for 'randRange'
double randRange(double min, double max) {
^
main.c:6:5: note: previous implicit declaration of 'randRange' was here
x=randRange(-1.0,1.0);
^
Run Code Online (Sandbox Code Playgroud)

冲突类型出错?我检查了返回类型.

sim*_*onc 5

您需要在函数调用点之上声明函数.

double randRange(double min, double max);

int main()
{
    double x;
    x=randRange(-1.0,1.0);
    ...

double randRange(double min, double max)
{
Run Code Online (Sandbox Code Playgroud)

如果不这样做,ansi C会为您返回一个函数隐式声明 int