gpt4 book ai didi

c++ - 函数抛出写访问异常

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:23 25 4
gpt4 key购买 nike

<分区>

我正在阅读一篇文章或在此处找到在线帖子:Eli Bendersky's Website : Binary Representation of Big Numbers遇到一个函数,所以我决定在我的 IDE 中测试它。该函数编译并构建但是当我运行代码时它想抛出异常:写访问冲突。

函数如下:

/* Note: in and out may be the same string,
it will still work OK
*/
void longdiv2(const char* in, char* out)
{
int carry = 0;

while (*in)
{
int numerator = *in++ - '0';
numerator += carry;

carry = (numerator % 2) == 0 ? 0 : 10;
*out++ = '0' + (numerator / 2);
}

*out = '\0';
}

我是这样使用的:

#include <iostream>

int main() {
char* value = "12345";
char* binResult = '\0';

longdiv2( value, binResult );

std::cout << *binResult << std::endl;

std::cout << "\nPress any key and enter to quit." << std::endl;
char q;
std::cin >> q;

return 0;
}

此行引发访问冲突:

 *out++ = '0' + (numerator / 2);

违规说明 outnullptr


我在运行 Win7 Home Premium x64 的 Intel Quad Core Extreme 上的 MS Visual Studio 2017 CE 上运行此程序 - 作为 x86 控制台应用程序编译和构建。

[注意:] 我用 C 和 C++ 标记了它:我这样标记它是因为文章提到它们是为 C 编写的,但是我在 C++ 中使用相同的函数。

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