C++ C++;程序仅列出最后输入数组的值

C++ C++;程序仅列出最后输入数组的值,c++,arrays,C++,Arrays,我试图将数组中的值(在运行时接受)输出到控制台上。但是当我运行这个程序时,我只得到数组中的5个值作为最后一个值 例如:如果我将01234作为该程序的五个值,则输出显示为444 #include "stdafx.h" #include<iostream> using namespace std; int main() { int arrsize = 5; int *ptr = new int[arrsize]; *ptr = 7; cout << *p

我试图将数组中的值(在运行时接受)输出到控制台上。但是当我运行这个程序时,我只得到数组中的5个值作为最后一个值

例如:如果我将
01234
作为该程序的五个值,则输出显示为
444

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

int main()
{
  int arrsize = 5;
  int *ptr = new int[arrsize];

  *ptr = 7;

  cout << *ptr << endl;
  cout << "enter 5 values:";

  for (int i = 0; i < arrsize; i++)
  {
    cin >> *ptr;

    cin.get();
  }

  cout << "the values in the array are:\n ";

  for (int i = 0; i < arrsize; i++)
  {
    cout << *ptr << " ";
  }

  delete[] ptr;
  cin.get();
  return 0;
}
#包括“stdafx.h”
#包括
使用名称空间std;
int main()
{
int arrsize=5;
int*ptr=新的int[arrsize];
*ptr=7;
cout您的两个循环:

for (int i = 0; i < arrsize; i++)
    ...
您的两个循环:

for (int i = 0; i < arrsize; i++)
    ...

我认为您可以解决以下问题:

  • 我想第一个
    include
    可以省略。你的代码没有这个就可以工作

  • 您使用的是
    cin.get()
    ,不确定您为什么需要它。我认为您可以删除它。即使是最后一个。您可以放置
    cout我认为您可以解决以下问题:

    • 我想第一个
      include
      可以省略。你的代码没有这个就可以工作

    • 您使用
      cin.get(),不知道你为什么需要这个。我想你可以删除它。即使是在最后一个。你可以放一个<代码> CUT,你似乎在输入或输出循环中似乎不增加/抵消<代码> PTR < /代码>。如果你要在C++中编程,为什么不利用STL?声明<代码>向量<代码> <代码> int <代码> s和<代码> PuthyBa。ck
      元素进入到输入循环中。无需
      新建
      任何内容。要详细说明@Michael所说的内容,
      ptr
      始终指向数组的第一个元素,因此
      *ptr
      始终与写入
      ptr[0]相同你正在读取数组的第一个元素五次,然后写出第一个元素五次。在这两个循环中,考虑使用<代码> PTR[i]。而不是<代码> *PTR < /代码>。谢谢。这是我在C中完成的简单程序,但是稍微与动态内存分配混淆。再次感谢,在输入或输出循环中,似乎从来没有递增/偏移<代码> PTR < /代码>。如果你要用C++编程,为什么不带ADVA?STL的ntage?声明一个
      int
      s的
      向量
      ,并在输入循环中将
      元素推回它。无需
      新建
      任何内容。要详细说明@Michael所说的,
      ptr
      始终指向数组的第一个元素,因此
      *ptr
      始终与写入
      ptr[0]相同你正在读取数组的第一个元素五次,然后写出第一个元素五次。在这两个循环中,考虑使用<代码> PTR[i]。
      而不是
      *ptr
      。是的:)完成了。谢谢你们两位。这是我用c语言编写的简单程序,但对动态内存分配有点困惑。再次感谢
      cin.get()
      通常在Windows平台上使用,以防止终端在程序终止时关闭控制台窗口。第一个
      include
      在学生中也很常见。但不确定为什么你的答案被否决。我觉得这很好。不确定这是否值得否决。对于该程序,用户不需要第一个includede.也不确定cin.get()是否是一个好的做法。我假设您只是从策略上进行投票。@Elyasin如果这是Visual Studio,那么是的,他们确实需要首先包括或需要更改许多编译器设置(预编译头设置)谢谢Elyasin我是stackoverflow的新手。所以我犯了一个错误。你的回答很有用。很抱歉
      cin.get()
      通常在Windows平台上使用,以防止终端在程序终止时关闭控制台窗口。第一个
      include
      在学生中也很常见。但不确定为什么你的答案被否决。我觉得这很好。不确定这是否值得否决。对于该程序,用户不需要第一个includede.也不确定cin.get()是否是一个好的做法。我假设您只是从策略上进行投票。@Elyasin如果这是Visual Studio,那么是的,他们确实需要首先包括或需要更改许多编译器设置(预编译头设置)谢谢Elyasin我是stackoverflow的新手。所以我犯了一个错误。你的回答很有用。很抱歉