为什么我的函数返回像 (-33686016) 这样的数字,但没有返回所需的值?
Why is my function returning number like (-33686016), but doesn't return needed value?
我需要为类进行动态数组赋值,在那里我展示了它们是如何工作的以及如何将它们传递给函数。似乎代码正在运行没有错误,但它返回的值为 -33686016
,但我需要它来返回我传入的整数总和。
所以我想做一个适用于动态数组的计算器,这样您就可以输入任意数量的整数来对循环求和,还没有完成循环部分,但没有它甚至不起作用。我尝试添加指针并到达它返回内存地址的点。但仍然无法获得价值。
源文件:
#include <iostream>
#include "saskait_funkc.h"
int main()
{
int size;
std::cin >> size;
int *arr = new int[size];
for (int i = 0; i <= (size - 1); i++) {
std::cin >> arr[i]; }
int kopa = sask(arr, size);
std::cout << kopa;
system("pause");
return 0;
}
功能:
int sask(int *num, int size) {
int sum = 0;
for (int i = 0; i <= size; i++) {
sum = sum + num[i];}
return sum;
}
因此,例如第一个输入(2 表示您接下来要输入多少个整数),然后( 1 和 2 是您要求和的整数)和输出应该是 3,但它输出-33686016
.
没有数组它可以工作,但我需要包含动态数组
如评论中所述 - 数组长度使您能够访问最后一个元素作为arr[length-1]
。
因此,在您的sask
函数中,当您for-loop
条件允许的i=size
时,您无法访问num[i]
- 如果您确实访问它,它可以以意想不到的方式更改sum
var(如将其更改为"-33686016")。
的方法是:
for (int i = 0; i < size; i++) // without the "=" sign
相关文章:
- 函数如何使用引用返回所需的数字?
- 如何优化代码以返回最接近给定整数的数字,但给定列表中不存在?
- 返回 int 中可被 2 c++ 整除的所有数字的总和
- C++ python 中的函数返回数字而不是字符串
- 使用非托管导出将字符串从 C# 返回到C++将返回数字
- 我的代码应该接受一个数字,并返回字母等级或"Grade is not valid"但 else 语句不起作用
- 如何返回一串字母数字字符中的最大值(例如-1A003B3)?
- 将 MPFR 数字转换为字符串并返回
- C++ 递归:返回数字的最小偶数
- typeid.name 返回派生类类型之前的数字
- Fibbonaci 递归代码返回错误值,始终返回下一个数字
- 为什么我的阶乘数查找器返回以C++输入的数字?(已编辑)
- 将字符转换为ASCII返回数字太大
- 从排序的数字数组中返回数字范围的最快方法是什么?
- 使用关键字从文本文件返回数字
- 将元组传递给函数并让它返回数字列表的最佳方法
- placeNumbers应该返回数字的顺序,以便满足布尔值向量中编码的条件
- 带有Overload[]运算符的C++MyInteger类,因此索引在位置i返回数字
- c++程序返回数字而不是字符
- 返回数字所在的行