m0_58050940 2021-07-01 09:25 采纳率: 52.6%
浏览 17
已采纳

调用指针函数 这两个空不知道错哪了

img

代码: #include <stdio.h> int main() {
int fun1(int,int),fun2(int,int),fun3(int,int),fun4(int,int); int executefun( int (*func)(int a,int b),int a,int b ); int x,y,i; int (*funcarr[4])(int a,int b); funcarr[0]=fun1; funcarr[1]=fun2; funcarr[2]=fun3; funcarr[3]=fun4; scanf("%d",&i); if(i>=0&&i<=3) { scanf("%d%d",&x,&y); if(i==3 && y==0) printf("no result.\n"); else printf("%d\n",executefun( (*func)(a,b),a,b )); }else { printf("exit\n"); } return 0; }

int fun1(int x,int y) { printf("%d+%d=",x,y); return x+y; } int fun2(int x,int y) { printf("%d-%d=",x,y); return x-y; } int fun3(int x,int y) { printf("%d*%d=",x,y); return x*y; } int fun4(int x,int y) { printf("%d/%d=",x,y); return x/y; } int executefun(int (*func)(int a,int b),int a,int b) {
int s=(*func)(a,b); return(s); }

  • 写回答

1条回答 默认 最新

  • shn_baby 2021-07-01 09:50
    关注

    第一个空是对的,第二个空应该写 printf("%d\n", executefun(funcarr[i], x, y)); 因为这个是个回调函数,你要传进去的是函数的指针,还有刚刚输入的x,y的值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算