gpt4 book ai didi

c++ - 为什么此代码片段会返回意外结果?

转载 作者:行者123 更新时间:2023-11-28 04:52:05 24 4
gpt4 key购买 nike

我目前正在我的学校学习 C++,并且正在制作一个单词侦探作为我必须提交的项目的一部分。为此,我已经制作了字母网格和其他必要的东西(线索、规则等)。我以整数数组中的坐标形式输入,用户在数组中输入 4 个值,表示初始行和列号以及最终行和列号,对应的是 a 的第一个和最后一个字母特定的词。

完成此操作后,我现在将用户输入的数组与我已经定义的具有该特定单词坐标的数组进行比较。这显示在这里:

    cout<<"Enter the coordinates of starting and final characters : row1 col1 row2 col2 "<<endl;
for (z = 0; z < 4; z++) //first for loop
cin>>p[z]; //taking the input as an array 'p'

for (b = 0; b < 4; b++) //second for loop
{
if (p[b] == messi[b])
b+=0;
}
if (b == 4)
cout<<"Great!!!! You have answered the question correctly"<<"\n\n";
else
cout<<"You got this one wrong mate! Try again :)"<<"\n\n";

这里,messi[b] 是一个数组,其坐标对应于网格中的单词“MESSI”。现在,在我看来,第二个 for 循环之后的“if”语句必须包含检查 b = 3 的条件。但是,当我这样做时,输出总是与“else”语句所说的一样,即“你得到这个......“对于每一个输入。然而,当我施加条件来检查 b = 4 时,输出结果就是“if”语句所说的,即每个输入的“太棒了!!...”。

我做错了什么?我希望我在向您解释问题时足够清楚。我正在使用 CodeBlocks 16.01。

最佳答案

有点不清楚你在做什么,就程序而言,b在第二个 for 之后总是等于 4 -自上次条件为真以来循环,b < 4 .所以在增量之后,它为 4。

里面第二个for -loop 你也有 NOP 代码 b += 0;这对代码绝对没有任何作用。这里的意图是什么?

关于c++ - 为什么此代码片段会返回意外结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47961680/

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