【问题标题】:C++ displaying array elementsC++ 显示数组元素
【发布时间】:2014-05-19 17:05:26
【问题描述】:

您好,在运行这个小程序时,我似乎得到了内存地址的输出,而不是存储在其中的值:有什么想法吗?谢谢。

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
    int a[5] = { 1, 3, 5, 7, 9 };
    int b[5] = { 2, 4, 6, 8, 10 };
    int c[10] = {};
    int j, i;

    for(j = 0; j < 10; j++)
    {
        if (a[j] < b[j])
        {
            c[j] = a[j];
        }

        else
        {
            c[j] = b[j];
        }
    }

    for (i= 0; i < 10; i++)
    {
        cout << c[i];
    }

    return 0;
}

【问题讨论】:

  • 请注意,第一个循环可能只是一个 std::transform 调用(它会立即消除您那里的错误)。如果您想要合并类型的东西,请改用std::merge
  • 首先,您正在迭代数组 a 和 b 的大小,因此您有未定义的行为和奇怪的数字。更正您的第一个“如果”,然后返回问题(如果需要)。

标签: c++ arrays visual-c++


【解决方案1】:

你的条件是错误的。 ab 的大小都为 5,但您正在迭代到 size 10。

【讨论】:

  • -facepalm- 尴尬哈哈谢谢我将第一个“for循环”迭代更改为5,现在它可以工作了。
猜你喜欢
  • 2015-03-07
  • 1970-01-01
  • 2020-10-26
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 2018-01-12
  • 2019-07-21
相关资源
最近更新 更多