项目场景:
今天在写一个算法中的一个for循环时编译器总是提醒我说下标越界,我一遍一遍调试才发现.对于下面这个循环,它至少执行一遍!
我们看到vec.size()==0,i=0, 0并不小于-1,但是它却进入了循环........
原因分析:
我以前在记忆for循环的时候使用口诀"一二循三......二循三..二循三",表示说程序执行到此处时,先进行第一步初始化工作,再进行判断,再进行循环体内容 ,解释后进行第三步for(第一步;第二部;第三步),不曾想竟然不是这样!
真的吗?
我们在DEV上实现一个测试程序
.......我一时说不出话来....
而且更诡异的是我放在VS上也还是同样的结果.........
暂时不知道为何会这样..
希望有哪位知道的同学给我指出来,谢谢!