指针和整数之间的比较[默认启用]

时间:2014-09-29 15:26:15

标签: c function

我想通过check_line和check_triangle使用geo_analyzer函数检查结果。谢谢你的赞赏。我不知道为什么会收到错误。除了我在ubuntu上编译 我在这里得到错误

if(check_line==1)    
return 1; // line

if(check_triangle==1)

return 2; //triangle

函数中的函数代码

double calculateSlop(double a,double b,double c,double d){

    return (d-c)/(b-a); // like (y2-y1)/(x2-x1)
}

int geo_analyzer( double p1_x, double p1_y, double p2_x, double
    p2_y, double p3_x, double p3_y, double p4_x, double p4_y){

        double m1,m2,m3;

        m1=calculateSlop(p1_x,p2_x,p1_y,p2_y);
        m2=calculateSlop(p2_x,p3_x,p2_y,p3_y);
        m3=calculateSlop(p3_x,p4_x,p3_y,p4_y);

        if(check_line==1){
        return 1; // line
        }
        if(check_triangle==1){
        return 2; //triangle
    }
}

2 个答案:

答案 0 :(得分:3)

您正在将函数指针与整数进行比较。如果您需要该函数的输出,请通过check_line(arg1, arg2, arg3, ...)调用它。

答案 1 :(得分:0)

check_line和check_triangle是函数还是变量?
当你写作 if(check_line==1)if(check_triangle==1)你实际上说有些变量称为" check_line"和" check_triangle"你想知道它们是否等于整数1 如果你想检查函数的输出是否" check_line"和" check_triangle"等于整数1,那么你想要做的是验证你想传递给这些函数的参数并写if ( check_line(argument1, argument2, ...)==1 )等等。