函數指針奇怪的地方

如下代碼:

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明明要接受三個參數纔可以啊?不明白爲什麼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章