簡體   English   中英

打印原始數組和更改后的數組

[英]Printing original array and changed array

我正在做一個練習,我必須打印原始數組並向數組添加更多元素並打印它們。 所以 output 應該是

Original array:
[10, 20, 30]
After append values to the end of the array:
[10 20 30 40 50 60 70 80 90]

第二部分是打印,但由於某種原因,原始數組元素不會打印。

int arr[9] = {10, 20, 30};

cout << "The original array elements are : " << endl;
for (int i = 0; arr[i] <= 3; ++i) 
{
  cout << arr[i] << endl;
}

arr[3] = {40};
arr[4] = {50};
arr[5] = {60};
arr[6] = {70};
arr[7] = {80};
arr[8] = {90};

cout << "After append values to the end of the array : " << endl;
for (int j = 0; arr[j] >= 9; ++j) 
{
  cout << arr[j] << endl;
}

這是我寫的代碼,有人可以告訴我我做錯了什么嗎?

因為

for (int i = 0; arr[i] <= 3; ++i)

表示“循環直到arr[i]<=3 ”,在你的情況下這總是錯誤的。
你可能想要這個:

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

與第二個循環相同,而不是arr[j] >=9你可能想要j < 9

在此更改后 output 是這樣的:

The original array elements are :
10
20
30
After append values to the end of the array :
10
20
30
40
50
60
70
80
90
for (int i = 0; arr[i] <= 3; ++i)

應該

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

同樣, j -loop 應該檢查j < 9 ,因為您要檢查打印的元素(3 和 9)的數量,而不是它們的值。

如果你想使用 for 循環來打印數組的元素,你有兩個選擇。 您可以使用帶有循環計數器的傳統 for 循環,例如i 如果您想迭代部分范圍,這通常是首選。 您通常將循環計數器與最后一個索引進行比較。 另一方面,如果您要遍歷整個事物,更方便的選擇是使用基於范圍的 for 循環。 您可以在此處查看這兩個示例:

#include <iostream>

int main() {
  int arr[9] = {10, 20, 30};

  std::cout << "The original array elements are :\n";

  // Traditional for-loop
  for (int i = 0; i <= 3; ++i) {
    std::cout << arr[i] << '\n';
  }

  arr[3] = {40};
  arr[4] = {50};
  arr[5] = {60};
  arr[6] = {70};
  arr[7] = {80};
  arr[8] = {90};

  std::cout << "After append values to the end of the array :\n";

  // Range-based for loop
  for (auto const elm : arr) {
    std::cout << elm << '\n';
  }
}

在此處了解有關 for 循環的更多信息。

暫無
暫無

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

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