如何打印存储在数组中的值
How To Print Values Stored in an Array
我正在努力创建一个函数,其中我占6个值(3个字符串,3个int),将这些值存储在数组中,然后以2
这是我拥有的:
#include <iostream>
#include <string>
using namespace std;
int main()
{
const int SIZE = 3;
int time[SIZE] = {};
string name[SIZE] = {};
for (int a = 0; a < 3; a++)
{
cout << "Enter runner name: ";
getline (cin, name[+1]);
cout << "Enter runner time: ";
cin >> time[+1];
cin.ignore();
}
for (int a = 0; a < 3; a++)
{
cout << name << " finished in " << time << "n";
}
return 0;
}
我希望我的输出看起来像这样:
name1 finished in time1
name2 finished in time2
name3 finished in time3
目前,我的输出看起来像这样:
0x22fdf0 finished in 0x22fe10
0x22fdf0 finished in 0x22fe10
0x22fdf0 finished in 0x22fe10
如何将输入存储在数组中,然后将这些值输出给用户?
如果已经回答,则表示歉意。我找不到一个示例,其中数组与用户输入值填充,然后返回显示。
您需要使用[]
订阅操作员实际索引数组。同样,打印时,您应该尝试在数组中索引一个元素。由于当您尝试打印数组本身时,编译器将隐式将数组转换为指针,该数组将在打印时将其在该数组中打印第一个元素的内存地址,而不是元素本身。
因此,您可以放弃数组以获取每个数组的第一个值,但是更好的方法是通过您的 a
变量进行索引,例如:
#include <iostream>
#include <string>
using namespace std;
int main() {
const int SIZE = 3;
int time[SIZE] = {};
string name[SIZE] = {};
for (int a = 0; a < 3; a++) {
cout << "Enter runner name: ";
getline(cin, name[a]);
cout << "Enter runner time: ";
cin >> time[a];
cin.ignore();
}
for (int a = 0; a < 3; a++) {
cout << name[a] << " finished in " << time[a] << "n";
}
return 0;
}
另外,如果您不想索引它,则可以使用原始方法,但是您必须使用*
dereference运算符来取消指针:
for (int a = 0; a < 3; a++) {
cout << *name << " finished in " << *time<< "n";
}
但是,现在您只需三次打印第一个元素即可。因此,要解决这一点,您需要采用一些指针算术,并增加值,以使元素分别超过第一个元素:
。for (int a = 0; a < 3; a++) {
cout << *(name + a) << " finished in " << *(time + a)<< "n";
}
所以有些事情要查找: *解开 *订阅 *隐式数组到指针转换
相关文章:
- 多维数组存储三种不同的数据类型?
- C++将原始字符数组存储在元组中
- 将十六进制字符数组存储在字节数组中,而无需更改为 ASCII 或其他任何东西
- 我正在编写一个代码来将 int 数组存储在文件中,然后用 c++ 检索它,但是检索第一项是假值,我该如何解决这个问题?
- 如何将元素的索引从2D数组存储到1D数组中,然后交换这些值
- 如何将JSON数组存储在Arduino程序中
- 如何在AVR(例如:ATMega)或Arduino微控制器上制作2D PROGMEM阵列的1D PROGMEM数组(存储
- 使用 char 数组存储数据
- 使用平面数组存储的元组容器
- 数组 存储并要求用户搜索它
- 将值从一个 char 数组存储到另一个 char 数组
- 如何使字符串数组存储在向量中
- 将构造的静态数组存储在多个文件中的内存中
- 将整数数组存储在堆上并通过指针访问它们
- c++声明一个数据类型的字节数组,该数组存储在字符串中
- 使用指针数组存储阶乘计算的所有中间结果
- 使用异构数组存储不同的子类
- 读取文件内容,存储在数组中,向数组添加更多内容,然后将新数组存储在文件C++中
- 尝试将复杂数组存储到类 c++ 中
- 在字节数组存储中嵌入 int/string