c++ - 创建传递值的数组大小会产生垃圾值
问题描述
int higher_element = arr[0];
for(int i = 0; i < length; i++)
if(arr[i] > higher_element)
higher_element = arr[i];
cout << "Higher element in an unsorted array :" << higher_element << endl;
int Hash[higher_element] = {0};
在这里,我想创建一个新的大小数组higher_element
并将其初始化为0
但没有创建数组,只创建了一个垃圾值。
的输出higher element
是12
。
解决方案
由于您使用的是 C++,我建议您使用vector
. 这是std::vector
您的问题的解决方案。
std::vector<int> Hash(higher_element);
向量自动初始化为 0。但为了您的澄清,
std::vector<int> Hash(higher_element,0);
推荐阅读
- php - 我如何总结 span class="total" 中的所有价格?
- angular - ion-img 在离子卡内不起作用 - Ionic 4
- tensorflow-lite - 我在将 .pb 文件转换为 .tflite 文件时遇到问题
- php - Cakephp 3:跨多个应用程序的共享数据库会话
- python - 如何更简洁地编写扁平化嵌套列表的代码
- django - Django 无法更改 url 模式的名称
- angular - Angular 7 - 动态排序数组
- php - 如何使用 PHP 将泰语日期转换为英语?
- php - “'迁移'附近的语法不正确。”在 Docker 中的 Laravel 上使用 SQL Server 2017 迁移时出错
- javascript - onclick 事件的 JavaScript 代码,它不能在 firefox(ver.68.0.1) 和 chrome(75.0) 上运行