基本控制台应用程序中循环和托管的问题

时间:2016-10-11 01:06:07

标签: c

我目前正在学习代码。我们的任务要求我们做一个数字猜谜游戏。指导员给出了一个大纲,以帮助我们完成项目。

当运行这个程序时,它只接受一个猜测,打印答案是" @"四次,这是为所选择的游戏数量而做的。

老实说,我无法弄清楚我做错了什么。我把源代码放在下面。任何帮助表示赞赏。

对于文件letterList.txt的fopen,我在同一目录中有一个文本文档,每个字母列在不同的行上。

xxx.so

1 个答案:

答案 0 :(得分:1)

你遇到的问题是:

//get a guess from the user  by calling the GetTheGuess function
GetTheGuess("playerguess");
//change the guess to lowercase
playerguess = tolower;

首先,GetTheGuess函数调用与您拥有的原型声明不匹配。它也与实际的功能实现不匹配。而你实际上并没有得到猜测。您也不会调用tolower,将函数的指针指定给变量playerguess

要纠正它,它应该看起来像

//get a guess from the user  by calling the GetTheGuess function
playerguess = GetTheGuess(playerguess);  // Note: Not passing a string, and use the returned value
//change the guess to lowercase
playerguess = tolower(playerguess);  // Note: actually call the tolower function

您当然需要更改原型声明以匹配实际定义:

char GetTheGuess(char guess);