基本上我正试图将二维数组中的字母转换为一维数组。我已经有了这个用户输入的字母网格,从这些字母中我将它们逐个字母组合成一个数组,然后根据字典检查它是否有效。
我一直在尝试像
这样的东西strcat(wordTester, board[i][j]);
但我不断收到运行时错误。任何帮助将不胜感激。
答案 0 :(得分:1)
strcat()
用于连接以null结尾的字符串,因此将字符传递给它会导致压缩,因为该字符可能会转换为无效指针。
尝试使用此功能:
#include <string.h>
char* charcat(char *target, char c) {
size_t len;
if (target != NULL) {
len = strlen(target);
target[len] = c;
target[len + 1] = '\0';
}
return target;
}
用法(假设char wordTester[MAX]; char board[M][N];
正确定义了MAX
,M
和N
:
charcat(wordTester, board[i][j]);