如何在此循环之外增加此变量的值?

Ken*_*hin 1 c variables for-loop

我有一个关于j这个嵌套循环内部值的问题.

    for (potentialSum=1; potentialSum<=m; potentialSum ++)
    {
         for (j=1;j<=n;j++)
         {
             if (potentialSum == 2) {
                 printf("j:%d in loop\n", j);
             }
         }

         C[potentialSum]=(j<=n) ? j : (-1);

         if (C[potentialSum] == -1) {
              printf("j:%d n:%d \n", j , n);
         }

    }
Run Code Online (Sandbox Code Playgroud)

n = 0且m = 25.

因此,当我使用前面提到的n和m值运行此循环时,我得到如下输出:

j:1 in loop
j:2 in loop
j:3 in loop
j:4 in loop
j:5 in loop
j:6 in loop
j:7 in loop
j:8 n:7 // Outside of loop
Run Code Online (Sandbox Code Playgroud)

我的问题是何时/如何j增加到8,如果n=7

当这只发生potentialSum = 2,完整的代码点击这里,为输入的副本点击这里.

感谢您提前获得所有帮助,我真的没有看到j循环外的7到8.

Him*_*shu 5

for (j=1;j<=n;j++)   //where n is 7
Run Code Online (Sandbox Code Playgroud)

for(声明;比较(条件检查),增量/减量)

在声明之后,比较值,并在最后它的递增(j++)

j=7它检查条件j<=n是否为真时它会进入循环内部.并且它会增加j++.
现在j将成为现在的价值8.下次它将检查条件j<=n是否为假,因此它将退出循环,但j仍将保留8.