C++ C++;程序仅列出最后输入数组的值
我试图将数组中的值(在运行时接受)输出到控制台上。但是当我运行这个程序时,我只得到数组中的5个值作为最后一个值 例如:如果我将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
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的新手。所以我犯了一个错误。你的回答很有用。很抱歉