gpt4 book ai didi

c - 没有正确处理函数

转载 作者:行者123 更新时间:2023-11-30 20:04:45 26 4
gpt4 key购买 nike

我的代码应该制作一个简单的菜单来更改角色的盔甲。代码是:

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

struct Armor {
char chestplate [50];
char helmet [50];
};

void changeArmor (){
struct Armor character;
char a [50];
printf("Choose a chestplate\n");
scanf("%s",&a);
strcpy(character.chestplate,a);
printf("Choose a helmet\n");
scanf("%s",&a);
strcpy(character.helmet,a);
menu();
}

void checkArmor () {
struct Armor character;
printf("Your equipped chestplate is: %s\n", character.chestplate);
printf("Your equipped helmet is: %s\n", character.helmet);
menu();
}

void menu () {
int a;
printf("What do you want to do?\n");
printf("1.Change Armor.\n");
printf("2.Check current armor.\n");
printf("3.Quit\n");
scanf("%d",&a);
if(a==1) changeArmor; // Oops: should be changeArmor();
if(a==2) checkArmor; // Oops: should be checkArmor();
if(a!=3) menu; // Oops: maybe this should be menu(); — or …
}

void initializeChar (){
struct Armor character;
strcpy(character.chestplate, "Shirt");
strcpy(character.helmet, "Hat");
}

int main () {
struct Armor character;
initializeChar();
menu();
return 0;
}

当我尝试使用菜单上的任何内容时,程序总是退出,而不是运行调用的函数。我在代码中做错了什么吗?

编辑:这是括号。谢谢。

最佳答案

我猜你忘记了 () 的意思,changeArmor() 和 checkArmor() 是函数。

因此,当您做出选择时,它不会执行任何操作,并且会继续执行,直到返回 0。

关于c - 没有正确处理函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36831531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com