【发布时间】: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++