php call_user_func() には、引数に文字列名を取り、同様の名前の関数をコールバックする関数があります。同様に、私はCでやりたいと思っています。ユーザーにminまたはmaxを要求し、ユーザーが入力した文字列に応じて関数minまたはmaxを呼び出すプログラムを書きたいと思います。以下を試しましたが、明らかな理由で機能しませんでした。誰でも私が行う必要がある修正を提案できますか
int max(int a, int b)
{
return a > b ? a : b ;
}
int min(int a, int b)
{
return a < b ? a : b ;
}
int main()
{
int (*foo)(int a, int b);
char *str;
int a, b;
str = (char *)malloc(5);
printf("Enter the what you want to calculate min or max\n");
scanf("%s", str);
printf("Enter the two values\n");
scanf("%d %d", &a, &b);
foo = str;
printf("%d\n", (*foo)(a, b));
return 0;
}