gpt4 book ai didi

c++ - 不同的结果取决于 C++ 中 for 循环的循环索引的位置

转载 作者:行者123 更新时间:2023-11-27 23:02:29 25 4
gpt4 key购买 nike

  size_t j = 1; size_t i = 1;

for (i=1;i<=a;i++){
for (j=1;j<=b;j++){
board[i][j] = std::min( std::min(board[i - 1][j] + 1,board[i][j - 1] + 1),
board[i - 1][j - 1] + (A[i - 1] == B[j - 1] ? 0 : 1) );
//cout << board[i][j] << endl;
}

}
cout << board[a][b] << endl;

所以我只是在学习 C++:如果你看上面的代码,i 和 j 被定义为两个 for 循环的第一个参数。因为我在此之前声明了 i 和 j,所以我相信我也可以这样做:

for (;i<=a;i++
for (;j<=b;j++)

在我的整个代码中产生了错误的结果。但是,第一个工作正常。任何人都可以对此有所了解吗?提前致谢

我已经对此进行了搜索,并且知道索引变量范围的差异。

最佳答案

这是因为范围,基本上,在您的原始代码中,j 变量在第一个循环的每次迭代中重置为 1:for (j=1;.... )。但是,在您的代码的第二个版本中,没有重置。

关于c++ - 不同的结果取决于 C++ 中 for 循环的循环索引的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26388331/

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