70,024
社区成员




首先是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,不知道和这个有没有关系。。