将多个整数存储到数组中并打印出来
Storing a number of integers into array and printing them out
如何使用for循环创建一个函数,将给定范围的数字存储到数组中,然后在主程序中调用该函数并打印出数组中存储的元素?
int main ()
{
testing(array, 20);
}
int testing(int array[], int k)
{
for (int i = 0; k < 20; i++)
{
array[k] = i;
k++;
}
for (int j = 0; j < 20; j++)
{
cout << array[j] << endl;
}
}
我得到错误,"测试必须返回值",我知道我应该有返回变量;例如。但是,我不知道如何返回给定元素的数组以使用 for 循环打印出所有元素。
您的函数和循环构造没有经过精心设计。您可以使用指针,而不必返回数组。我认为这就是您要做的:
#include <iostream>
void testing(int* a, int k)
{
for (int i = 0; i < k; i++)
a[i] = i;
}
int main()
{
int a[20];
testing(a, 20);
// you can see that a's elements have changed outside the main (in testing)
for (int j = 0; j < 20; j++)
std::cout << a[j] << "n";
return 0;
}
你似乎从来没有执行过第一个循环。第一个循环的停止条件是 k < 20
,但 k 已经是 20。然后在第二个循环中,数组只打印出以前保存在这些内存位置的垃圾。
我想你的意思是:
for (int i= 0; i < k; i++) {
array[i] = i;
}
for (int j = 0; j < k; ++j) {
cout << array[j] << endl;
}
如果要在 main
中打印数组,则需要通过传入指向数组而不是数组本身的指针来稍微更改函数。
此外,main
函数从未初始化数组以传递到函数中。
int main (void) {
int a[20];
testing (a, 20);
return 0;
}
最后,将testing
函数的返回类型设置为 void
。
void testing (int array[], int k);
总而言之,它应该看起来像这样:
#include <iostream>
using namespace std; // I don't recommend doing this
void testing (int * array, const int k);
int main (void) {
const int size = 20;
int a[size] = {0};
testing (a, size);
for (int i = 0; i < size; ++i) {
cout << a[i] << endl;
}
return 0;
}
void testing (int * array, const int k) {
for (int i = 0; i < k; ++i) {
array[i] = i;
}
}
相关文章:
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 在一定长度后从数组中打印时缺少整数
- 数组元素打印的递归方法
- C++ 无法在字符数组中使用 for 循环打印字母模式
- 打印矢量数组中的所有元素
- 打印问题.我在数组中打印值时遇到一些问题
- 数组类 阵列的打印输出
- 动态分配的聊天数组打印缺失的数据和空
- 如何打印 2D 字符数组C++
- 如何修改代码以打印出数组 v2
- 在C++中初始化和打印 2D 数组
- 将浮点数转换为无符号字符数组并打印出来
- C++ 打印包含数据结构的数组
- 如何让字符数组在一行而不是多行中打印出来?
- 打印字符数组地址的正确方法
- 按字母顺序打印存储在字符数组中的信息
- 使用递归反转和打印出数组的内容
- 如何将文本文件读取到二维数组中并以 c++ 打印
- 如何在运行时在对象数组中动态追加新对象C++并打印它们
- 加载有空指针的字符数组的打印值