だから私は関数へのポインタを練習していて、この簡単なプログラムを作ってみました.これはそのスニペットです. アドレスの割り当てに関しては、「無効な左辺値」というエラーがまだ表示されます。たとえば、 funcptr = &addnum です。また、これが何の役に立つのだろうかと思わずにはいられません。関数を呼び出す方がはるかに簡単ではありませんか? それとも私は何かを誤解していますか
#include <stdio.h>
int arithnum(int base);
int addnum(int base,int new);
int subnum(int base,int new);
int mulnum(int base,int new);
int divnum(int base,int new);
typedef int *ptrdef(int,int);
int arithnum(int base)
{
char operator;
int operand;
ptrdef funcptr;
printf("Enter operator: ");
scanf("\n%c",&operator);
printf("Enter second operand: ");
scanf("%d",&operand);
switch(operator)
{
case '+':
funcptr = &addnum;
break;
case '-':
funcptr = &subnum;
break;
case '*':
funcptr = &mulnum;
break;
case '/':
funcptr = &divnum;
break;
}
return funcptr(base,operand);
}