先來回顧一下概念:
指標陣列 —— 存放指標的陣列
函式指標 —— 存放函式位址的指標
函式指標陣列 —— 存放函式指標的陣列
接下來說說這次要製作的計算器的功能:
1.add —— 加法
2.sub —— 減法
3.mul —— 乘法
4.div —— 除法
0.exit —— 退出
具體來通過**講解:
(1)首先寫乙個選單程式,在執行程式時首先列印一次選單。
void menu()
(2)寫好四個關於加、減、乘、除操作的函式。
int add(int x, int y)
int sub(int x, int y)
int mul(int x, int y)
int div(int x, int y)
(3)寫主函式,定義input是你要輸入的數,用來選擇功能;定義x和y是你要輸入兩個的運算元;接著在主程式中呼叫選單函式menu()。
int main()
(4)使用do while迴圈,以及if else語句,建立規則,如果輸入的input是0的話就退出迴圈,while(input)代表input非零的時候會繼續迴圈;如果input在1~4之間則對應計算器選單上的功能,這時你需要輸入兩個數字;如果超出這個範圍則重新迴圈。
int main()
else if (input >= 1 && input <= 4)
else
} while (input);
return 0;
}(5)接下來在主函式中定義乙個函式指標陣列,int (*pfarr[5])(int,int) = ; 代表名為pfarr的函式指標陣列有存放了5個指向函式的指標,分別是0,add,sub,mul,div;之所以增加0為陣列的首元素,是為了陣列元素下標與選單相對應。
int main()
; do
else if (input >= 1 && input <= 程式設計客棧4)
else
} while (input);
return 0;
}(6)最後我們定義ret用來接收函式的返回值也就是運算結果,並列印;呼叫的時候直接呼叫函式指標陣列中的input位,就是在呼叫相應的函式位址,並使用該函式;呼叫完成後列印ret。
int main()
; do
else if (input >= 1 && input <= 4)
else
} while (input);
return 0;
}到這裡就全部講解完成,喜歡的話點個贊再走吧~
全部**在這裡:
#include
void menu()
int add(int x, int y)
int sub(int x, int y)
int mul(int x, int y)
int div(int x, int y)
int main()
; do
else if (input >= 1 && input <= 4)
else
} while (input);
return 0;
}本文標題: c語言運用函式指標陣列實現計算器功能
本文位址:
C語言 函式,函式指標 指標陣列,陣列指標。
include char fun1 char p,char a char fun2 char p,char a char fun3 char p,char a int main char pfun char p,char a 第6行使函式指標指向我們自定義的fun1函式。第7行是通過函式指標去呼叫我...
C語言 函式指標 函式指標陣列 函式指標陣列的指標
1.定義理解 函式的位址可以通過取位址函式名拿到,也可以通過函式名直接拿到。2.函式指標 1 定義乙個函式test void test char str intmain 2 函式指標的使用 呼叫函式test,傳參 zhangsan p zhangshan 這裡的 沒有起作用,它是讓我們知道這是乙個指...
C語言 用函式指標陣列實現轉移表(計算器)
函式指標陣列也是陣列,陣列的每乙個成員是函式指標 這個指標指向函式 可以通過它實現乙個轉移表 計算器 如下 函式部分 include include pragma warning disable 4996 intadd int x,int y intsub int x,int y intmul in...