在循环中设置指向 int 值的指针
Set pointer to int value in loop
我一直在网站上浏览,试图找到问题的答案,但我似乎找不到它。我想知道为什么在尝试增加指向 int 值的指针时得到一个奇怪的数字。
起初我认为这可能是因为我没有用大括号括起来我的变量 *sum,但它也没有帮助。
我真的不明白为什么我无法连续增加总和指针:@。我假设我正在更改总和的地址而不是值,但我不确定为什么。
int userNumber;
int * sum = new int;
while (std::cin >> userNumber)
{
if (userNumber == 0)
break;
else
(*sum) += userNumber;
}
std::cout << "Loop ended with value: " << *sum << std::endl;
任何帮助都会很可爱!
当你使用 new int
分配int
时,它不会被初始化。它的值将是不确定的,并且在不初始化的情况下以任何方式使用它都会导致未定义的行为。
您需要初始化它,您可以使用分配来执行此操作:
int * sum = new int(0);
相关文章:
- 如何将 int 指针转换为浮点指针
- 使用 int 指针的浮点数的位表示形式
- 引用数据的 int 指针
- 为什么我不能像这样直接将 int 分配给 int 指针:int *p = 6;?
- 为什么可以将Char指针变量初始化为字符串,而INT指针变量不能初始化到整数数组
- 将 Int 指针分配给双精度变量
- 如何使用函数参数中的int指针来获取2d数组中最大值的索引并返回指针
- 为什么在int指针的const vetory中脱离了元素
- (C++)通过指针递增,或者:为什么这不起作用?指针->int = 指针->int+1;
- 如何在 C++ 中将浮点指针转换为 int 指针
- 循环中的 int C++指针?
- 当我创建一个int指针并实例化一个数组时,数组在内存中发生了什么
- 将字符阵列转换为INT指针
- 施放INT指针时编译错误
- 如何返回一个 int 指针,指向矢量<int>的开头
- 64位计算机上的int大小和int指针大小
- 如何将 void 指针类型转换为 int 指针,然后在其中存储 int
- 取消对结构的 int 指针地址的引用
- 通过"int *"指针更改"const int"。令人惊讶和有趣
- C/C++ int[] vs int*(指针与数组表示法).有什么区别