[英]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.