每当我告诉它打印出我的数组中的内容时,它会打印出一个内存地址。我是初学者。
#include <iostream>
#include <cstdlib>
#include <algorithm>
using namespace std;
int main()
{
const int Array_Size = 6;
int The_array[Array_Size] ={ 30, 60, 20, 50, 40, 10 };
for(int starting_index = 0; starting_index < Array_Size; starting_index++)
{
int smallestindex = starting_index;
for (int current_index = starting_index + 1; current_index < Array_Size; current_index++)
{
if (The_array[current_index] < smallestindex)
{
smallestindex = current_index;
}
swap(The_array[current_index], The_array[smallestindex]);
}
cout<<(The_array);
}
cin.get();
system("pause");
return 0;
}
答案 0 :(得分:1)
没有用于输出数组(或其他容器)的内置函数。这是因为您可以决定如何分离项目。例如,您想要10 20 30 40 50 60
吗?还是10, 20, 30, 40, 50, 60
?或者别的什么。
所以你必须编写代码来执行此操作。一个简单的方法是:
for (auto item : The_Array )
cout << item << " ";
答案 1 :(得分:0)
要打印数组中的元素,您需要迭代数组(就像您正在做的那样)并在当前索引处打印元素,而不是整个数组。要访问给定索引处的元素,请使用operator[]
,如下所示:
而不是:cout<<(The_array);
(打印数组中第一个元素的地址)使用cout << The_array[starting_index];
(从数组中获取starting_index
的元素并打印出来)其中{ {1}}是每次循环迭代时数组的索引。
顺便说一句,虽然starting_index
是第一次迭代期间数组中的第一个索引,但每个循环都会使它增加1(所以循环第二次迭代时,starting_index
将是starting_index
,第三次1
,等等。因此,2
可能是一个坏名称,尽管编译器不关心。
通常,如果要打印名为starting_index
的{{1}}整数的数组内容,请执行以下操作:
arr
答案 2 :(得分:0)
The_array是一个地址(数组的地址)。要打印元素,您必须将元素传递给cout。
for (int i = 0; i < Array_Size; i++)
cout << The_array[i];
答案 3 :(得分:-2)
使用for循环来cout元素中的每个值
Array[5]={1,2,3,4,5};
For(int i=0;i<4;i++}
{ cout<<array[i];} \\ we have an integer i that is equal to 0 so 0 is less than 4( because as you know in array the first value is represented as 0) so will increment it by one each time it loops so it will display from 0 to 4 \\ it will display from 12345 but represented as 01234 total 5 elements !