C++ 带符号v.s.unsigned int的嵌套循环
有人知道为什么在i的第一次迭代中,即outter循环,没有通过 内环 我想:也许这和有符号的i和无符号的j有关 代码: 考虑您的代码:C++ 带符号v.s.unsigned int的嵌套循环,c++,loops,unsigned,signed,C++,Loops,Unsigned,Signed,有人知道为什么在i的第一次迭代中,即outter循环,没有通过 内环 我想:也许这和有符号的i和无符号的j有关 代码: 考虑您的代码: for(signed i = a.getRows()-1; i > -1; --i){ for(unsigned j = i+1; j < a.getRows(); ++j){ 在第一次迭代中,j将被设置为a.getRows-1+1。显然,a.getRows
for(signed i = a.getRows()-1; i > -1; --i){
for(unsigned j = i+1; j < a.getRows(); ++j){
在第一次迭代中,j将被设置为a.getRows-1+1。显然,a.getRows类似的逻辑也适用于其他值,除非a.getRows-1超出带符号int的范围。a.getRows返回的类型和值是什么外部循环的第一次不满足内部循环条件。您是否尝试过使用调试器,或打印出正在比较的变量的值?哦,好的!我想出来了。。。很简单,p:我想。。。谢谢非常感谢!
for(signed i = a.getRows()-1; i > -1; --i){
for(unsigned j = i+1; j < a.getRows(); ++j){