在线等c语言大佬帮我看看,为什么执行到第36行的scanf处就秒退了

m0_70053554 2022-08-01 15:25:36

首先是hero.c文件:

#include"hero.h"

Hero hero[5];

Job jobs[] = {
    {1,"法师","远程法术爆发!"},
    {2,"刺客","近战物理爆发!"},
    {3,"战士","近战半肉物理!"},
    {4,"奶妈","法术辅助治疗!"},
    {5,"坦克","近战物理纯肉!"},


};

void InputHero()
{
    int i;
    int j;
    int Jobchoise;
    for(i = 0;i < 1;i++)
    {
        printf("请输入第%d位英雄的信息:\n",i + 1);
        hero[i].id = i + 1;
        printf("名称:\n");
        hero[i].name = (char *)malloc(50);
        scanf("%s",hero[i].name);
        fflush(stdin);
        printf("性别:\n");
        scanf("%c",&hero[i].sex);

        for(j = 0;j < 5 ;j++)
        {
            printf("%s\n",jobs[j].name);
        }
        printf("请选择你的职业:\n");
        scanf("%d",&Jobchoise);
        hero[i].job = jobs[Jobchoise - 1];
        printf("%s当前的职业为:《%s》\n",hero[i].name,hero[i].job.name);
    }
}

 

头文件:

#ifndef HERO_H_INCLUDED
#define HERO_H_INCLUDED

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct _job  //职业
{
    int id;
    char * name;        //职业名称
    char * desc;        //职业描述

}Job;

typedef struct _ability     //能力
{
    int id;
    char * name;        //能力的名称
    char * intro;       //能力的描述

}Ability;

typedef struct _pubtime     //上线时间
{
    int year;
    int month;
    int day;

}Pubtime;

typedef struct _hero
{
    int id;
    char * name;
    char sex;           //性别
    Job job;
    double hp;
    double speed;       //攻速
    Ability ability;
    Pubtime pubtime;

}Hero;

void InputHero();     //输入英雄的值
#endif // HERO_H_INCLUDED

主函数:

#include"hero.h"
int main()
{

    InputHero();
    return 0;
}
 

我就写了三个文件,代码都在上面了,也没有报错,就是运行到选择英雄那,就直接卡了,然后秒退,可能是我太菜了。。。有大佬帮忙看看吗。。感谢!!

//我用的是code::blocks,不是vs,不知道和这个有没有关系。。

...全文
55 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_43666632 9天前

hero[i].job = jobs[Jobchoise - 1]->name;
改成这样试试

  • 打赏
  • 举报
回复
GentleTK 08-01

使用了malloc的话,最好是能及时free

  • 打赏
  • 举报
回复
zara 08-01

没用过 blocks;vc2008 可以正常输入个信息,然后结束。

  • 打赏
  • 举报
回复
相关推荐
发帖
C语言

6.6w+

社区成员

C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
帖子事件
创建了帖子
2022-08-01 15:25
社区公告
暂无公告