gpt4 book ai didi

c++ - 在循环中将指针设置为 int 值

转载 作者:行者123 更新时间:2023-11-27 23:48:49 25 4
gpt4 key购买 nike

我一直在网站上浏览,试图找到我的问题的答案,但我似乎找不到。我想知道为什么在尝试增加指向 int 值的指针时会得到一个奇怪的数字。

起初我认为这可能是因为我没有用大括号将变量 *sum 括起来,但这也无济于事。

我真的不明白为什么我不能持续增加和指针:@。我假设我正在更改 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);

关于c++ - 在循环中将指针设置为 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48371502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com