簡體   English   中英

該變量的值如何在此循環之外遞增?

[英]How is the value of this variable incremented outside of this 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);
         }

    }

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

我的問題是,如果n=7j何時/如何增加到8?

僅當potentialSum = 2時才會發生這種情況,對於完整的代碼,請單擊此處 ,對於輸入的副本,請單擊此處

感謝預先提供的所有幫助,我真的沒有看到j在循環外如何從7變為8。

for (j=1;j<=n;j++)   //where n is 7

for(聲明;比較(條件檢查),遞增/遞減)

聲明之后,比較值,最后將其遞增( j++

j=7 ,它將檢查條件j<=n為真,因此它將進入循環內。 並且在它將增加j++
現在j當前值將變為8 下次它將檢查條件j<=n為假,因此它將退出循環,但j仍為8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM