函数指针奇怪的地方

来源:互联网 发布:node forever 启动 编辑:程序博客网 时间:2024/05/21 18:34

如下代码:

int add(int a, int b)
{
     return (a+b);
}

int sub(int a, int b,int c)
{
    c= c + 1;
    return (a-b);
}

void main()
{

   

    typedef int (*padd)(int, int);
    typedef int (*psub)(int, int, int);
    int ret;
    padd fun = (padd)sub;
    ret = fun(2,3);


}


结果ret的值为-1。可是sub明明要接受三个参数才可以啊?不明白为什么