【发布时间】:2020-03-17 21:40:01
【问题描述】:
我有一个标题为 [what],[where],[who] 的文件,我将它放入一个数组列表中。 我正在尝试将括号和单词数组连接在一起。像 [ what ] 但会弹出错误。
" 在 project.exe 中的 0x0F20EDD0 (ucrtbased.dll) 处引发异常:0xC0000005:访问冲突读取位置 0x00000044"
char intent[255];
char inv[3][10] = { "what","where","who" };
//char stringCat = strncat(intent, inv[0],10);
snprintf(intent, sizeof(intent), "[%s]", inv[0]);
我能知道为什么会这样吗?
【问题讨论】:
-
检查编译器警告。您至少有 3 种不同的警告类型:混合字符和字符指针,使用字符串文字而不是最突出的字符文字。
-
strcat需要 指针 而不是字符。intent[0]不是指针。 -
intent[0] = "["=>intent[0] = '[' -
如果你的编译器没有警告你这些不匹配,你需要一个更好的编译器。您将永远无法使用您正在使用的编译器学习 C。
-
嗨,我已经更改了上面的代码,但它仍然给我错误。