2015-06-13 17 views
0

之間的值,我有以下2個循環在我的C++代碼:C++同名的局部變量保持環路

for (int hcount = 0; hcount < height; hcount++) 
    { 
     for (count = 0; count < width; count++) 
     { 
      cout << character; 
     } 
     cout << endl; 
    } 

cout << endl; 

for (int hcount = 0; hcount < height; hcount++); 
{ 
    for (count = 0; count < width; count++) 
    { 
     cout << character; 
    } 
    cout << endl; 
} 

我遇到的問題是,在第一循環使用變量HCOUNT後,變量第二個循環中的hcount將使用它在第一個循環中的值進行初始化。我不知道爲什麼,這是因爲二者都是被初始化爲什麼似乎是局部變量設置爲0。

回答

5

的問題是在這裏:

for (int hcount = 0; hcount < height; hcount++); 

你結束循環與;,這是一個沒有操作。在任何情況下hcount只在循環的範圍內可見。循環執行後(即在;之後),內部循環開始執行。您的調試器可能會顯示hcount所採用的最後一個值。