gpt4 book ai didi

C - 某些方法不是从菜单方法调用的

转载 作者:行者123 更新时间:2023-11-30 15:34:58 25 4
gpt4 key购买 nike

我正在为uni编写一个二十一点程序,但有些方法根本没有被调用。此菜单方法是包含 main 方法的 allocate1.c 文件的一部分。其他方法位于其他 .c 文件中,但我多次检查了代码的 #include 部分,它们都是 100% 正确的。菜单打印良好,并且 i 已正确设置为输入,但是当调用适当的 if 语句时,其中的方法却不然。这是代码

编辑:特别是 playGame() 方法,我知道其他方法没有被正确调用,但 playgame 方法给我带来了最大的悲伤。

int mainmenu(){
int i = 0;
int j = 0;
while (j<1) {
printf("\n");
printf("Black Jack - Main Menu\n");
printf("1) Play Game\n");
printf("2) Display Scores\n");
printf("3) Reset Scores\n");
printf("4) Quit\n");
printf("\n" "Make your selection: ");

scanf("%d", &i);
if (i==1) {
Player* playGame(Player *computer, Player *human, Card *deck);
int testmethod();
}
else if (i==2) {
printScoreBoard();
}
else if (i==3) {
resetScores();
}
else if (i==4){
j++;
}
else{
printf("%s\n", "Incorrect input, please try again");

int ch;
/* remove all characters from the buffer */
while(ch = getc(stdin), ch!='\n' && ch!=EOF)
;
/* clear the error status of the input pointer */
clearerr(stdin);

}


}

return 0;

}

如果我调试它只是忽略这些方法,就好像它们不是可执行代码或其他东西一样。有什么想法吗?

最佳答案

您实际上并没有调用这些函数,您只是声明它们,例如:

if (i==1) {
Player* playGame(Player *computer, Player *human, Card *deck);
int testmethod();
}

应该是:

if (i==1) {
player = playGame(computer, human, deck);
testmethod();
}

(显然,playercomputer人类deck需要事先定义/初始化)

关于C - 某些方法不是从菜单方法调用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23102484/

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