|
6鱼币
C++新手,用的VS2017,不知道为什么报这个错,望各位大牛帮帮忙!谢谢
以下是程序源码:
#include "pch.h"
#include <iostream>
int main()
{
int count = 0;
int *pNum = new int[count];
int num;
std::cout << "请输入元素的个数" << std::endl;
while (!(std::cin >> count) || (count < 1))
{
std::cin.clear();//清除数据格式
std::cin.ignore(100, '\n');//清除缓存
std::cout << "请输入元素的个数" << std::endl;
}
std::cin.ignore(100, '\n');
//输入数组里元素的内容
for (int i = 0; i < count; ++i)
{
std::cout << "请输入第" << i + 1 << "的元素的值" << "\n";
while (!(std::cin >> num))
{
std::cin.clear();//清除数据格式
std::cin.ignore(100, '\n');//清除缓存
std::cout << "请输入第" << i + 1 << "的元素的值" << "\n";
}
std::cin.ignore(100, '\n');
pNum[i] = num;
}
//打印数组内容
for (int i = 0; i < count; ++i)
{
std::cout << pNum[i] << "\n";
}
return 0;
}
简单说一下,你申请数组空间的时候弄错了。int *pNum = new int[count];应该放在 “//输入数组里元素的内容”这个位置。不然你后面赋值的时候实际上越界了。
|
最佳答案
查看完整内容
简单说一下,你申请数组空间的时候弄错了。int *pNum = new int[count];应该放在 “//输入数组里元素的内容”这个位置。不然你后面赋值的时候实际上越界了。
|