单元化局部变量+使用单元化内存

  • 本文关键字:单元 内存 局部变量 c++
  • 更新时间 :
  • 英文 :

int main()
{
int secretnum = 7;
int Guess;
while (secretnum != Guess) {
cout << "Enter guess: ";
cin >> Guess; 
}
cout << "You win";
return 0;
}

但是,我收到了1个警告和1个错误。

警告:使用未初始化的内存"猜测">

错误:未初始化的本地变量"Guess"使用

错误表明,在输入任何值之前,您使用Guess的值(在while语句中(。

根据经验,您应该在定义变量时初始化变量,这意味着:

int guess = 0;

优于:

int guess; // This memory is uninitialized!

目前,猜测中的值是内存中的任何值,不应该使用!

为了尽可能清楚——我同意这样做……在这种情况下,while比while更可取,我想补充一点,初始化仍然很重要:

#include <iostream>
#include <limits>
int main()
{
constexpr int secretnum = 7;
int guess = (secretnum == std::numeric_limits<int>::max()) 
? secretnum + 1 
: secretnum - 1;
do {
std::cout << "Enter a guess: " << std::endl;
std::cin >> guess; 
} while (secretnum != guess);
std::cout << "You win" << std::endl;
return 0;
}

最新更新