// // main.c // c_test2 // // Created by vincent_guo on 13-3-26. // Copyright (c) 2013年 vincent_guo. All rights reserved. // #include <stdio.h> //函數指針 int sum(int a,int b){ return a + b; } int minus(int a,int b){ return a - b; } //(*p)(int,int)指向函數的指針 int computer(int a,int b,int (*p)(int,int)){ return (*p)(a,b); } int main(int argc, const char * argv[]) { printf("------------------------------\n"); // 定義一個指針變量p,指向sum函數 int (*p)(int,int) = minus; int result = computer(112, 12,minus); printf("computer result: %d\n",result); result = computer(112, 12,sum); printf("computer result: %d\n",result); result = (*p)(112,12); printf("computer result: %d\n",result); return 0; }
運行結果: