而对于c++中的循环

while and for loop in c++

本文关键字:循环 c++      更新时间:2023-10-16

1)

 i = 0;
 while(i < N){
   j = i+1;
   while(j < N && p[i].first == p[j].first && p[j].second - p[i].second < K) j++;
     i = j; res++;
             }

2)

for(i=0;i<N;i++){
   j = i+1;
   while(j < N && p[i].first == p[j].first && p[j].second - p[i].second < K) j++;
     i = j; res++;
                 }

第一个代码和第二个代码的区别仅在于while loop in 1)和for loop in2) 。但根据我的说法,两者的产出应该是相同的,但有所不同。以上两个代码只是总代码的一部分。但我应该告诉你,1)的输出是2,而2)的输出则是3。

我不明白为什么答案不同,因为发生的一切都是一样的。

for循环将i递增两次。一旦在for循环定义本身(i++)中,然后通过j间接地。

while循环仅通过j进行间接增量。所以这两个例子不一样。

我认为要使循环相等,应该省略中的增量

for(i=0; i<N; ){

在for循环中,变量i在代码中递增两次:首次在

for(i=0;i<N;i++){

第二次在

j = i+1之后是i = j