為什麼 for 迴圈將 1 加到括號外列印的值上?

發布 教育 2024-06-10
29個回答
  1. 匿名使用者2024-01-29

    for(i=0;i<2;i++)

    printf("%d",i);

    這個for迴圈語句的條件是i<2,所以初始化時i的值是1,每次for迴圈執行後,i必須加一次(++,當i++的值等於2時,就退出for迴圈。 所以,最後乙個 printf("%d",i);該語句列印 i 值 2。

    我希望你能理解我的解釋。

  2. 匿名使用者2024-01-28

    for 迴圈如下所示。

    例如,for(i=0; i<2;i++)

    進入for迴圈,先賦值i=0,然後判斷i是否滿足迴圈條件,如果滿足,則進入迴圈程式。

    然後執行迴圈的程式。

    然後執行 I++

    然後再次確定 i 是否滿足迴圈條件。

    因此可以理解為for迴圈後面的條件變數必須是第乙個不滿足迴圈條件的值,例如,如果你是i<2,第乙個不滿足條件的就是2,如果是i<=2,第乙個不滿足條件的就是3

  3. 匿名使用者2024-01-27

    您的程式可以簡化:

    #include

    main()

    int i;

    for(i=0;i<2;i++)

    printf("%d",i);

    printf("%d",i);

    分析如下:

    #include

    main()

    int i,j;你定義的j有什麼用???

    for(i=0;i<2;i++)

    首先,i、0 和 1 這兩個值是合格的,其次,表示迴圈要迴圈兩次。

    那麼 i++ 用於更改這兩個值。 然後就有了。

    這個大括號是多餘的。

    printf("%d",i);

    執行兩次,第一次:is i=0,輸出 0,第二次:i=1(因為 i++)輸出 1

    注意:在輸出 1 之後,迴圈應該返回,即 i++, i=2;

    返回檢查是否滿足中斷條件 (i<2),這意味著 i 已變為 2 並被中斷。

    這個大括號是多餘的,因為 for 語句只關心一行,而下一行,它無法控制。

    printf("%d",i);

    這裡輸出 2

  4. 匿名使用者2024-01-26

    for(i=0;i<2;i++)

    如果你看一下這個迴圈,你就會知道它以後不可能是 1,如果它是 1,就會建立 i<2,迴圈就會被執行。

  5. 匿名使用者2024-01-25

    我從 0 開始迴圈,並在不合格時退出,不合格的最小數量為 2

  6. 匿名使用者2024-01-24

    你認為,當 i 值是什麼時,會彈出 for 語句。 當然,當 i 被新增到 2 時。 我個人覺得你對C語言的執行順序還是不是很熟悉,所以建議多看書。

  7. 匿名使用者2024-01-23

    Halo,這很簡單,因為你的輸出條件是 i<2,你現在等於 2,所以他不輸出啊,所以它等於 1。

  8. 匿名使用者2024-01-22

    括號中,當 i=1 時,i++ i=2,因為 i<2

    所以我只是退出了迴圈,只輸出 2。

  9. 匿名使用者2024-01-21

    當 for 只是乙個語句時,您可以省略大括號,除此之外,新增大括號。

    }“是將多個語句放在一起放入乙個語句塊中,執行時,語句塊中的所有語句都會被執行。

    但是,建議學習者在每次使用時都用“{}”括住迴圈,而不是“{}”,以養成良好的編碼習慣。

  10. 匿名使用者2024-01-20

    如果 for 只是乙個語句,您可以省略大括號並新增其餘部分; 如果我想讓房東提供,我不需要新增大括號! 希望它對你有用。

  11. 匿名使用者2024-01-19

    通常用大括號比較好,如果迴圈中只有乙個句子,可以忽略。

  12. 匿名使用者2024-01-18

    新增大括號意味著括號中的句子必須迴圈,如果沒有,則下乙個句子有乙個迴圈。

  13. 匿名使用者2024-01-17

    for 語句後必須跟乙個語句塊,這些語句必須是大括號。 您無需新增任何語句。!!

  14. 匿名使用者2024-01-16

    for 大於一行語句(即多行); “,你需要大括號。

  15. 匿名使用者2024-01-15

    如果迴圈中有多個語句,則可以不使用乙個語句。

    但無論如何,新增 {}

  16. 匿名使用者2024-01-14

    for 迴圈語句:如果迴圈體中只有乙個執行語句,則無需加大括號,如果執行語句是多個語句,則必須用大括號括起來,以表示該部分的執行語句都在迴圈體中,滿足迴圈條件時要執行的語句; 如:

    1)for(i=0;i<5;i++)

    s+=m[i];此迴圈中只有乙個執行語句,s+=m[i]; 因此,不使用大括號;

    2)for(i=0;i<5;i++)

    for(j=0;j<5;j++)

    在這個例子中,有乙個雙精度的for迴圈,第乙個迴圈for(i=0; i<5;i++),因為他的迴圈中只有乙個執行語句是內部迴圈語句,這是乙個復合語句:

    for(j=0;j<5;j++)

    內迴圈語句後面之所以有大括號,是因為內迴圈包含a[i][j]=m; 和。

    m++;和 if(j<=i)。

    printf("%3d",a[i][j]);為了將它們全部包含在迴圈中,這三個執行語句必須用大括號括起來,並顯示為復合語句。

    for 語句還具有無迴圈模式,即不執行該語句,例如:

    for(i=0;str[i]!='\0';i++)語句後面跟著乙個分號,表示為空迴圈,沒有執行語句,其作用是獲取i的值。

  17. 匿名使用者2024-01-13

    如果 for 迴圈語句的迴圈體只有乙個語句,則可以省略大括號; 如果迴圈體由多個語句組成,則必須使用大括號(否則只有第乙個語句將被視為迴圈體,而以下語句將被視為“迴圈體外部”的語句)。

  18. 匿名使用者2024-01-12

    首先,為了寫規範,所有語句都應該是大括號!

    在實際應用中,有些人為了簡化而沒有節省太多時間(實際上,他們並沒有節省太多時間。 當迴圈體只有乙個語句時,省略大括號。

    例如,for(int i=0; i<5 ;i++)a=a+i;

    但是,如果要迴圈多個語句(迴圈體),則必須放大括號,例如

    for(int i=0;i<=5;i++)

  19. 匿名使用者2024-01-11

    一般都會新增良好的程式設計習慣,並且直接新增當前的IDE。

  20. 匿名使用者2024-01-10

    這是標準的九十九乘法表:剛剛完成! 呵呵。

    public final class one_for }}

  21. 匿名使用者2024-01-09

    for 已連線。

    通常不在後面。

    前面還可以

  22. 匿名使用者2024-01-08

    如果 for 迴圈後沒有大括號,則只迴圈下一句 **。 這是在之後; 上一句。 補充說; 將來,for 迴圈操作將是乙個空語句。

  23. 匿名使用者2024-01-07

    for();這意味著這個 for 迴圈不做任何操作,即 for 迴圈以分號結束,並且下面括號中的值 for 是在不帶分號的情況下執行的。

  24. 匿名使用者2024-01-06

    added,表示 for 迴圈中省略了大括號,並且 for 迴圈不執行任何操作;

    如果不新增,則意味著 for 迴圈中省略了大括號,但在此 for 迴圈中所做的是:

  25. 匿名使用者2024-01-05

    如果新增它,它將是乙個空迴圈,它只改變 sum 變數的值而不執行; 一直執行到退出迴圈; 此時,求和週期為6次,變為21次。

    如果不新增它,您將在迴圈中執行它;

  26. 匿名使用者2024-01-04

    新增後,僅列印最終結果。

    如果不新增,會列印6次,包括中間結果,最終求和結果是一樣的,但是加法後列印後會執行sum += i ++。

  27. 匿名使用者2024-01-03

    對於 for 之後的大括號,加分號執行一次,而不管 for 中的條件如何。

  28. 匿名使用者2024-01-02

    for 語句的標準形式是:

    for (exp1; exp2; exp3) .

    exp2 的值用於確定迴圈是否結束。 在您的示例中,所有三個表示式都是 c 中的逗號表示式

    expa, expb;

    逗號表示式的值等於 expb。 所以你的這個例子實際上等同於:

    for(k=1; k*k<26; k+=2) printf(..

    只是在每個步驟中,都會新增乙個語句來列印當前 k 的值。 這種用法不是標準的,不建議這樣做。

  29. 匿名使用者2024-01-01

    for() 用分號分隔的三個部分是 (Cycle Start Condition; 迴圈條件的終止; 步長)。

    它們可以是“逗號表示式”。

    此處的所有三個部分都是逗號表示式語句。

    例如,迴圈的開始:k=1, printf("%d:hi ",k);

    逗號表示式的值等於最右邊表示式的值。

    所以:printf("k=%d",k),k*k<26 控制條件為 k*k<26

相關回答
11個回答2024-06-10

Hao Fang builder problem 標籤: Hao Fang.

條件:系統正常(無病毒、木馬驅動正確等); 伺服器正常(本地遊戲); >>>More

4個回答2024-06-10

以下是解決方法:

1.首先,如果電腦按下開機鍵,訊號燈還是會亮起,螢幕也會亮起,我們可以有點慶幸,電腦只是軟體有問題,硬體沒有問題; >>>More

16個回答2024-06-10

功率本身並不多,考慮到電池壽命,處理器的頻率降低,所以會卡住。 盡量在大功率的情況下玩,而且Le2處理器的10核發熱很大,玩了很久卡住了。**手機的散熱風扇直接粘在背面吹,理論上有點用處。 >>>More

20個回答2024-06-10

最近以前搜尋東西的時候,總是輸入**輸入google,我很喜歡,但是太生氣我了,在網上找了很久一直沒有對的方法,大部分都說會用,什麼清潔工具?,360度都殺了它。這些東西我都試過了,都沒用,根本沒用,所以我決定自己殺了它(我不喜歡殺,就熄滅了,)好了,別吹了,如果你現在有這種問題,那請你看看你的程序裡有沒有桶來拆分乙個經常出現的exe程序。我的是,我在網上沒有找到這個檔案的任何資訊,所以不確定你的程序是不是這個名字,只要你結束這個過程,如果你安裝了360,那麼360就會檢測到這個程序想要重新進入啟動項,視窗是紅色的,很危險,你必須選擇遮蔽。如果你不想下次失去谷歌。 >>>More

8個回答2024-06-10

這是什麼意思,您正在使用的瀏覽器無法在您的計算機上開啟,但可以在其他計算機上開啟? >>>More