c语言 大学生求求了棒棒孩子吧

#include<stdio.h>
void main()
{
    void he(float a2,float b2,float c2);
    void eva(float a3,float b3,float c3);
    void ji(float a4,float b4,float c4);
    float a,b,c,(*p)(float,float,float);int n;
    printf("请输入三个整数\n");
    scanf("%f,%f,%f",&a,&b,&c);
    printf("输入1求和,输入2求平均数,输入3求乘积\n");
    scanf("%d",&n);
    switch (n)
{
    case 1: p=he;break;
    case 2: p=eva;break;
    case 3: p=ji;break;
    default :printf("error!!\n");
    }
    (*p)(a,b,c);
}
void he(float a2,float b2,float c2)
{
printf("%5.2f\n",a2+b2+c2);
}
void eva(float a3,float b3,float c3)
{
printf("%5.2f\n",(a3+b3+c3)/3);
}
void ji(float a4,float b4,float c4)
{
printf("%5.2f\n",a4*b4*c4);
}

 

那你到底输入的是几呢?

数值你输入 1,2,3试试---你scanf用的%f,%f,%f

代码本身还有问题,比如函数指针申明返回类型为float,但你实际的函数返回类型是void

好像没有实现主菜单的功能?

  scanf("%f,%f,%f",&a,&b,&c);你输入函数是用逗号隔开的,因此输入值是要用逗号,而不是空格。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632