|
发表于 2019-10-10 20:23:55
|
显示全部楼层
本帖最后由 jackz007 于 2019-10-10 20:25 编辑
- #include <stdio.h>
- int add(const int a , const int b)
- {
- return a + b ;
- }
- int sub(const int a , const int b)
- {
- return a - b ;
- }
- int mul(const int a , const int b)
- {
- return a * b ;
- }
- int div(const int a , const int b)
- {
- return a / b ;
- }
- int (* getfun(void))(const int , const int)
- {
- static int d = 0 ;
- int (* p)(const int , const int) ;
- int k ;
- k = d % 4 ;
- switch(k) {
- case 0: p = add ;
- break ;
- case 1: p = sub ;
- break ;
- case 2: p = mul ;
- break ;
- case 3: p = div ;
- break ;
- }
- d ++ ;
- return p ;
- }
- main(void)
- {
- int a , b , c ;
- int (* p)(const int , const int) ;
- a = 20 ;
- b = 5 ;
- p = getfun() ;
- printf("%d\n" , p(a , b)) ;
- p = getfun() ;
- printf("%d\n" , p(a , b)) ;
- p = getfun() ;
- printf("%d\n" , p(a , b)) ;
- p = getfun() ;
- printf("%d\n" , p(a , b)) ;
- }
复制代码 |
|