例如:
while (! ( (planet == "Mercury") || (planet == "Pluto") ) )
{
<body>;
}
Run Code Online (Sandbox Code Playgroud)
上述内容与以下内容相同:
while ( (planet != "Mercury") || (planet != "Pluto") )
{
<body>;
}
Run Code Online (Sandbox Code Playgroud)
如果不是,那么在条件语句之前放置NOT操作是什么意思,如第一个代码块所示?
for (int att = 1; att < 11; att++)
{
<body>;
//break will completely finish running the program
}
Run Code Online (Sandbox Code Playgroud)
我正在制作一个CodeBreaker(Mastermind)游戏,我遇到的问题是在一个循环结束时比它需要的时间少于11,然后将循环设置回att = 1的初始化状态.
att代表"尝试".用户可以猜测随机生成的代码最多10次.一旦用户在少于10次尝试中猜到正确的代码,我想提示用户再次播放并生成新的随机代码.但是上面显示的循环仍在运行.
如何尽早结束循环,但仍继续运行程序?程序的大部分取决于这一个循环,因此break将完全阻止它运行.
我有两个主要包含字符串的类向量,我试图跟踪两个向量之间匹配的次数.我int在两个公共课程之一(另一个职能所必需的)中保留了一个计数器.但是,std::find_if似乎不允许我修改或分配此计数器变量.
以下是std::find_if搜索算法:
for (Vector1& v1 : vector1) {
auto res = find_if(vector2.begin(), vector2.end(),
[=](Vector2 v2) {
if (v2.code == v1.code) {
v1.counter++; // <-- where the error occurs
return true;
}
else
return false;
}
);
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚为什么会这样; 我猜测find_if算法的第三个参数是一个const值.但那不应该影响我vector1,对吧?
我使用嵌套的远程for循环,它完美地工作.但是,我想尝试使用这个find_if算法......