Visual c++ VisualStudio如何从代码中读取指令?
你好,这里是我们的社区。在理解VisualStudio如何处理代码给出的“指令”时,我遇到了一个特定的问题 我写的代码在运行时给了我一个问题。 事情是这样的: 你猜怎么着? 驴子 你猜怎么着? 驴子 你的猜测是:驴子 你猜怎么着? 狗 你猜怎么着? 狗 你的猜测是:狗 它在其他尝试中正常工作。 但是,如果我要删除'GetGuess();'第38行。一切都很好。 然而,让我烦恼的是,第38行的Getguess不是必需的,因为我现在的想法是,它必须先处理Getguess,然后再处理返回的猜测 多谢各位 代码:Visual c++ VisualStudio如何从代码中读取指令?,visual-c++,Visual C++,你好,这里是我们的社区。在理解VisualStudio如何处理代码给出的“指令”时,我遇到了一个特定的问题 我写的代码在运行时给了我一个问题。 事情是这样的: 你猜怎么着? 驴子 你猜怎么着? 驴子 你的猜测是:驴子 你猜怎么着? 狗 你猜怎么着? 狗 你的猜测是:狗 它在其他尝试中正常工作。 但是,如果我要删除'GetGuess();'第38行。一切都很好。 然而,让我烦恼的是,第38行的Getguess不是必需的,因为我现在的想法是,它必须先处理Getguess,然后再处理返回的猜测 多谢各
#包括;
#包括,;
使用名称空间std;
void PrintIntro();
无效玩游戏();
字符串GetGuess();
//out申请的入口点
int main()
{
PrintIntro();
玩游戏;
}
//介绍游戏
void PrintIntro()
{
constexpr int WORD_LENGTH=5;
cout一条建议:当你运行代码时,请设置断点,特别是如果你想知道你的代码是如何运行的
“它可以在其他尝试中正常工作。但是,如果我删除第38行的‘GetGuess();’,一切都很好。但是,让我烦恼的是,第38行的GetGuess不是必需的,因为我现在的想法是,它必须先处理GetGuess,然后再处理返回猜测。”
要回答您的问题,首先您必须知道,当您调用“string guess=GetGuess();”时,编译器已经检索返回值并将其存储到“guess”(在本例中为函数return guess)中,因此您不必再添加GetGuess()(这是多余的)“process Getguess first”不正确,因为“string guess=Getguess();”已在处理/检索返回值
另外,我认为在int main()之前初始化和声明所有函数是一个很好的做法但是,这取决于你如何组织你所有的代码功能。< /P>请粘贴你的代码,而不是根据C++标准链接到外部资源库工作室进程C++代码。听起来你的代码中有一个bug。最好把代码编辑成你的问题,并具体地问你有什么问题,而不是。关于VisualStudio如何处理代码的哲学讨论。嘿!非常感谢你澄清了我的疑问。它困扰了我很长一段时间,但你的回答给了我一张更清晰的图片。真的非常感谢
#include <iostream>;
#include <string>;
using namespace std;
void PrintIntro();
void play_game();
string GetGuess();
// entry point for out application
int main()
{
PrintIntro();
play_game();
}
//intro game
void PrintIntro()
{
constexpr int WORD_LENGTH = 5;
cout << "welcome to bulls and cows\n";
cout << "can you guess the " << WORD_LENGTH << " letters word?\n";
return ;
}
void play_game()
{
// loop for number of turns asking for guesses
constexpr int number_of_turn = 5;
for (int count = 1; count <= number_of_turn; count++)
{
GetGuess();
string guess = GetGuess();
cout << "your guess was:" << guess << endl;
}
}
//gut guess from player
string GetGuess()
{
// ask for a guess
cout << "whats your guess?\n";
string guess = "";
getline(cin, guess);
return guess;
}