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

C++ 二維數組指針遍歷無限循環:邊界條件 p < p+3 永真

     編輯:程式設計綜合問答

代碼 for(int (*p)[4]=ia; p < p+3; ++p) 中 p+3 隨 p 遞增而變化,條件永真導致無限循環。

修正

int (*end)[4] = ia + 3; // 固定終止地址
for (int (*p)[4] = ia; p < end; ++p) {
    for (int *q = *p; q < *p + 4; ++q)
        cout << *q << ' ';
    cout << endl;
}

預先計算固定終止指針 end,避免邊界隨循環變量移動。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved