- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
该函数获取一个句子,需要在“n”个第一个单词之间进行替换。当第一次重新分配时,程序停止并显示错误。我尝试了很多句子的组合,我要求的新内存比现有内存更大。
我的功能:
void Reverse(char **sentence, int n)
{
int m;
char *temp;
for (m = 0; m < n; m++, n--)
{
temp = (char*)malloc(strlen(sentence[m]) * sizeof(char));
temp = sentence[m];
sentence[m] = (char*)realloc(sentence[m], strlen(sentence[n]) * sizeof(char));
sentence[m] = sentence[n];
sentence[n] = (char*)realloc(sentence[n], strlen(temp) * sizeof(char));
sentence[n] = temp;
free(temp);
printf("%s ", sentence[m]);
}
}
最佳答案
仔细看看这两行:
temp = (char*)malloc(strlen(sentence[m]) * sizeof(char));
temp = sentence[m];
首先,您分配内存并使 temp
指向该内存。在下一行中,您重新分配 temp
指向其他位置。
您也可以为重新分配执行此操作。
另请注意,通过执行例如
sentence[m] = sentence[n];
您复制了一个指针,而不是指针所指向的内存的内容。这是一个浅副本。如果您修复此问题以复制实际内容(并且具有深层复制),那么您必须记住,C 中的字符串由 strlen
未计算在内的额外字符终止。例如,字符串 "hello"
实际上是 6 个字符长,并带有终止符。您还必须为此终结符分配空间。
关于c - 在 c 中重新分配时出错(异常 trown (ucrtbased.dll)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41520404/
Windows10 的 C 运行时在 ucrtbase.dll 中提供。但他们也有ucrtbased,即“调试版本”。它到底包含什么?如果我有 .pdb(公共(public)符号),为什么还需要 dl
Exception thrown at 0x0F4CD6F0 (ucrtbased.dll) in ChatClient.exe: 0xC0000005: Access violation readi
我构建了一个名为 OpenARK 的开源软件在 Windows 10 64 位上使用 OpenCV3.2.0、Visual Studio 2015 和 PCL 1.8 以及使用 PMD SDK 的 P
**#include #include void buildArray(); int main(void) { int example[20]; buildArray(exampl
this window jumps when it gets to receiving a code 嘿,我今天开始学习 C 并制作了一个程序,我在程序上收到了此消息,因此我测试了练习答案,它得到了相
(我已经解决了这个问题。发布它以防其他人遇到这个问题。) 我有一个使用 QBFC13 库与 Quickbooks 集成的应用程序。从 Visual Studio 运行应用程序时,这一切都非常有效。但是
(我已经解决了这个问题。发布它以防其他人遇到这个问题。) 我有一个使用 QBFC13 库与 Quickbooks 集成的应用程序。从 Visual Studio 运行应用程序时,这一切都非常有效。但是
我正在开发一个程序,要求用户输入一个单词以及用户想要从该单词复制的字母数量。当我使用“在线编译”时,该程序可以运行,但是当我在 Microsoft Visual Studio 中运行该程序时,该程序在
我有一些代码从 .txt 文件中获取名称列表 + double 值,并在命令提示符中显示这些。为此,动态分配了一个结构数组。代码应该根据 .txt 文件中的第一个值知道数组的大小,然后是名称和关联值。
我的应用程序(基于 Java)启动了适用于 Windows 的 python,而后者又调用 os.spawnv 来启动另一个 python。 有时我遇到访问冲突异常。 00 005eedb0 763e
我用python制作了exe文件。 我正在使用以下命令: pyinstaller --windowed --onfile gui.py 但是当我执行gui.exe时,它崩溃了: Problem sig
我正在编写一个教程,以在更新版本的 Windows 8.1 上使用最新版本的 Visual Studio Community 2017 学习 C++。 当我调整以下 .cpp 文件并运行程序时,它在输
我正在使用 Visual Studio Enterprise 2015,我遇到了这个错误: Exception thrown at 0x00007FF8E19979A3 (ucrtbased.dll)
所以我开发这个程序已经有一段时间了……它的目的是充当我们 IT 团队的 Assets 管理者( future 可能更多)。我有 2 个服务,我们现在将它们称为“Manager”和“IAM”。 “管理器
该函数获取一个句子,需要在“n”个第一个单词之间进行替换。当第一次重新分配时,程序停止并显示错误。我尝试了很多句子的组合,我要求的新内存比现有内存更大。 我的功能: void Reverse(char
所以我正在制作一个选择排序程序,我必须在其中输入两个值:一个用于数组中使用的数字,另一个用于随机数生成器的种子。我对如何调整使用的数量有点困惑,因为我们可以放入的最大元素数量是 15。数组目前有 8
我想修补这个著名的 Claw 的开源翻版。 访问https://github.com/pjasicek/OpenClaw 在我开始介绍我是如何克隆这个游戏并尝试构建它之前,我是开源社区的新手。我做了以
我试着逐行调试代码,发现它在“if (strcmp(takein.year, takein.year2) == 0)”这一行显示了错误。 Error Image - click here 请检查上面的
我注意到我的二进制文件会在没有 SSE 支持的情况下 在 CPU 上崩溃,异常代码为 0xC000001D (STATUS_ILLEGAL_INSTRUCTION),尽管我正在使用选项进行编译/arc
我已经安装了 Visual Studio 2015 并使用一些代码创建了 Win32 项目。我编译成功了,但是我无法启动exe文件,因为我没有一些ucrtbased.dll......那我该如何解决呢
我是一名优秀的程序员,十分优秀!