鱼C论坛

 找回密码
 立即注册
查看: 1625|回复: 4

[已解决]c语言编程问题

[复制链接]
发表于 2019-10-2 15:42:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#pragma warning(disable : 4996
#include<string.h>
struct stu {
   const char* name;
        int ching;
        int shux;
        int ying;
}stu1 = {"小红",89,94,88};
char m[] = "小红";
char k[] = "小明";
char b[] = "小樱";
char (*g(char o[10]))();
int  main()
{
          char l[10];
        printf("请输入你要查看学生成绩的姓名:");
        scanf("%s", &l);
        g(l);
}
char hong();
char hong()
{  
        printf("%s的语文成绩为%d\n数学成绩为%d\n英语成绩为%d\n", stu1.name, stu1.ching, stu1.shux, stu1.ying);
}
char ming();
char ming()
{
        struct stu stu2;
        stu2.name="小明";
    stu2.ching=98;
    stu2.shux=94;
    stu2.ying=97;
        printf("%s的语文成绩为%d\n数学成绩为%d\n英语成绩为%d\n", stu2.name, stu2.ching, stu2.shux, stu2.ying);
}
char ying();
char ying()
{   
        struct stu stu3;
        stu3.name="小樱";
    stu3.ching=94;
    stu3.shux=86;
    stu3.ying=96;
        printf("%s的语文成绩为%d\n数学成绩为%d\n英语成绩为%d\n", stu3.name, stu3.ching, stu3.shux, stu3.ying);
}
char (*g( char o[10]))()
{
    char (*mm)(),(*kk)(),(*ll)();
    mm=hong;
    kk=ming;
    ll=ying;
        if (strcmp(o,m)==0)
                return mm;
        else if (strcmp(o,k)==0)
                return kk;
        else if (strcmp(o,b)==0)
                return ll;
    else
    printf("输出错误信息 本次帮助结束\n");
}
最佳答案
2019-10-5 21:18:08
666666q 发表于 2019-10-5 15:16
就是输入小红以后什么都不显示呀 求大佬帮一下

将main函数里的g(l);改为g(l)();就正常了,原因,涵数自己没写完整,下次注意点,兄弟。哈哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-5 01:23:23 | 显示全部楼层
程序不错,兄弟。但问题在哪呢,我找了半天
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-5 15:16:35 | 显示全部楼层
员理管帅最 发表于 2019-10-5 01:23
程序不错,兄弟。但问题在哪呢,我找了半天

就是输入小红以后什么都不显示呀 求大佬帮一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-5 21:18:08 | 显示全部楼层    本楼为最佳答案   
666666q 发表于 2019-10-5 15:16
就是输入小红以后什么都不显示呀 求大佬帮一下

将main函数里的g(l);改为g(l)();就正常了,原因,涵数自己没写完整,下次注意点,兄弟。哈哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-10-8 12:11:28 | 显示全部楼层
员理管帅最 发表于 2019-10-5 21:18
将main函数里的g(l);改为g(l)();就正常了,原因,涵数自己没写完整,下次注意点,兄弟。哈哈哈哈

这样啊 谢谢兄弟了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-4 13:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表