該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
萌新一位,學到結構體在做作業,遇到了這個問題。求提示
出現這樣的報錯:[Error] cannot convert 'char (*)[20]' to 'char*' for argument '5' to 'void HeroShow(int, int, char*, char*, char*, char*)'
#include
struct Camp//定義陣營結構體
{
int id;//編號
char names[20];//陣營名稱
};
struct Hero //定義英雌結構體
{
//英雄的屬性
int id;//編號
char names[50];//英雄名稱
int hp;//血量
int mp;//魔法值
char heroType[10];//類型
char skill[3][20];//技能
struct Camp camp;//陣營
};
void HeroShow(int, int, char[], char[], char[], char[]);//英雄信息展示函數
int main()
{
//英雄初始化
struct Hero hero_HWC = {
1,//id
"黑無常",//英雄名字
200,//初始血量
300,//初始魔法值
"魔法師",//英雄類型
{"無常索命","厲鬼勾魂","同歸于盡"}, //技能名稱
{1,"十八地獄"} //陣營屬性
};
HeroShow(hero_HWC.hp,
hero_HWC.mp,
hero_HWC.heroType,
hero_HWC.names,
hero_HWC.skill,
hero_HWC.camp.names);
return 0;
}
void HeroShow(int hp,int mp,char heroType[],char names[], char skill[],char campName[])//英雄信息展示函數
{
int i;
printf("英雄名稱:%s\n",names);
printf("類 型:%s\n",heroType);
printf(" H P 值 :%d\n",hp);
printf(" M P 值 :%d\n",mp);
printf("英雄技能:");
for(i = 0; i < 3; i++)
{
printf("%s",skill[i]);
};
printf("英雄陣營:%s\n",campName);
}