繁体   English   中英

C ++数组显示字母和数字?

[英]C++ Array displaying letters and numbers?

我正在开发彩票应用程序,计算机生成5个随机数,并将它们存储到下标中。 出于某种原因,我的数组在我的代码中输出字母和数字。 任何人都可以告诉我为什么会发生这种情况?

#include <iostream>
#include <iomanip>
#include <random>
#include <ctime>
#include <time.h>

using namespace std;

int main(){
const int digits = 5;
int winningDigits[digits];



 srand(time(0));

winningDigits[0] = rand() % 10 + 1;
winningDigits[1] = rand() % 10 + 1;
winningDigits[2] = rand() % 10 + 1;
winningDigits[3] = rand() % 10 + 1;
winningDigits[4] = rand() % 10 + 1;

cout << winningDigits;
cout << winningDigits;

是打印数组的地址而不是数组的内容。 您看到字母和数字的原因是地址以十六进制显示

您可以使用基于范围的for循环打印出您的数组,如:

for (const auto& e : winningDigits)
    cout << e << " ";

要显示阵列,您可以使用:

for (int i = 0; i < digits; i++)
        cout << winningDigits[i];

cout << winnerDigits; 不访问您的数组的每个成员。 它给你地址。

您还可以通过将所有内容放入for循环来简化程序:

for (int i = 0; i < digits; i++)
{
    winningDigits[i] = rand() % 10 + 1;
    cout << winningDigits[i] << " ";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM