河岸柳 发表于 2021-11-29 16:38:32

新手求助

为什么输入但是没有输出??
代码:
#include<stdio.h>

int add(int num1,int num2);
int sub(int num1,int num2);
int calc(int(*fq)(int,int),int num1,int num2);
int (*select(char op))(int ,int);

int add(int num1,int num2)
{
        return num1+num2;
}

int sub(int num1,int num2)
{
        return num1-num2;
}

int calc(int(*fq)(int,int),int num1,int num2)
{
        return (*fq)(num1,num2);
}

int (*select(char op))(int num1,int num2)
{
        switch(op)
        {
                case'+':return add;
                case'-':return sub;
        }
}

int main()
{
        int num1,num2;
        char op;
        int (*fq)(int,int);

        scanf("%d%c%d",&num1,&op,&num2);
        fq=select(op);
        printf("%d%c%d=%d\n",num1,op,num2,calc(fq,num1,num2));
       
        return 0;
}

人造人 发表于 2021-11-29 16:38:33

#include<stdio.h>

int add(int num1,int num2);
int sub(int num1,int num2);
int calc(int(*fq)(int,int),int num1,int num2);
int (*select(char op))(int ,int);

int add(int num1,int num2)
{
      return num1+num2;
}

int sub(int num1,int num2)
{
      return num1-num2;
}

int calc(int(*fq)(int,int),int num1,int num2)
{
      return (*fq)(num1,num2);
}

int (*select(char op))(int num1,int num2)
{
      switch(op)
      {
                case'+':return add;
                case'-':return sub;
      }
      return NULL;
}


int main()
{
      int num1,num2;
      char op;
      int (*fq)(int,int);

      scanf("%d%c%d",&num1,&op,&num2);
      fq=select(op);
      printf("%d%c%d=%d\n",num1,op,num2,calc(fq,num1,num2));
      
      return 0;
}


$ ./main
1+2
1+2=3
$ ./main
4-5
4-5=-1
$
页: [1]
查看完整版本: 新手求助