首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言打印金字塔新手常犯錯誤:for 循環分號導致邏輯失效

     編輯:程式設計綜合問答

初學者編寫金字塔程序時,常在 for 循環後誤加分號,導致循環體空執行。錯誤代碼片段:

for(n=1; n<=4; n++);  // ← 這裡的分號是禍根
{
    for(i=1; i<4-n; i++); // ← 這裡也有
    printf(" ");
    ...
}

錯誤分析

for(...); 等價於 for(...) { },大括號內的代碼不再受循環控制,僅執行一次。

正確寫法

for(n=1; n<=4; n++) {  // 刪除分號
    for(i=1; i<4-n; i++) { // 刪除分號
        printf(" ");
    }
    for(j=1; j<=k+3; j++) { // 同理
        k=k+3;
        printf("*");
    }
    printf("\n");
}

調試技巧

  • 編譯器警告 statement with no effect 即提示無效語句。
  • 養成「不加分號」習慣,或用 {} 包裹單語句循環體。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved