误解c++中的循环

Misunderstanding the loop in C++?

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

我有一些c++循环循环的问题,这是我的代码:

    for (int ii = 1; ii <= 4; ii++)
    {
        if (ii==1)
        {
            ro = 4;
            ratio = 0.85;
        }
        if (ii == 2)
        {
            ro = 6;
            ratio = 0.8;
        }
        if (ii == 3)
        {
            ro = 8;
            ratio = 0.9;
        }
        if (ii == 4)
        {
            ro = 10;
            ratio = 0.5;
        }
       function(ro,ratio);
       if (ii = 1)
       {
          cir4 = cir.clone();
          k4 = k3.clone();
       }
       if (ii = 2)
       {
          cir6 = cir.clone();
          k6 = k3.clone();
       }
       if (ii=3)
       {
          cir8 = cir.clone();
          k8 = k3.clone();
       }
       if (ii = 4)
       {
          cir10 = cir.clone();
          k10 = k3.clone();
       }
  }

我的function(ro,ratio)工作得很好,在循环for之外的每对o-ratio,它返回Mat cir=function(ro , ratio)的不同结果,每对(在这种情况下是cir4 # cir6 # cir8 # cir10);但是当我把它放在循环内,它总是返回相同的结果:cir4 = cir6 = cir8 = cir10 = function(ro = 4 , ratio = 0.85)

我不知道为什么。我是否误解了循环for在c++中的工作方式?

使用==而不是=进行比较。

您在if语句的第一个块中得到了正确的内容,但在第二个块中没有。