如何在C/ C 中比较两个char的两个2D阵列
How to compare two 2d arrays of char in C/ C++
我正在将两个char的两个2D数组传递到一个函数中,如果数组相等,则会返回1,否则为0。数组的大小为[4] [4],但是当我尝试通过数组迭代时,我会收到一个错误。
int checkIfWin(char** array, char** array2){
int winner = 0;
for(int i = 0; i < 4; i++){
if(strcmp(array2[i], array[i])==0){
winner = 1;
}
else
winner = 0;
}
return winner;
}
更新:
我在strcmp时得到redrorn的原因是因为我没有malloc第二2D数组。
char[]
与 char *
不同,第一个将值 ' '
放在数组末尾,而不是第二个。
功能 strcmp 将比较元素,直到找到值' '
为止,因为该任务更好地将元素与元素进行比较,如果您发现差异自动返回。
int checkIfWin(char** array, char** array2){
for(int i = 0; i < 4; ++i){
for (int j = 0; j < 4; ++j){
if(array2[i][j] != array[i][j]){
return 0;
}
}
}
return 1;
}
这是使用strncmp((的解决方案:
int winner = 1, i;
for(i = 0; i < 4; i++){
if((strncmp(array2[i], array[i], 4)) != 0){
winner = 0;
break;
}
}
return winner;
相关文章:
- 如何在C++中比较两个char数组
- 如何更好地检查两个 char 变量是否在一组值中?
- 在 char* 数组中添加两个索引
- C++函数返回两个 char 数组的相同索引元素
- *char数组到字符串(两次运行代码和两个不同的结果)
- 为什么Xor-ing两个“ char”阵列显示垃圾位
- 如何在C/ C 中比较两个char的两个2D阵列
- 使用"const char*"和"char*"参数连接两个第三方模块
- 在C 中乘以两个char阵列
- 为什么这两个char阵列不相等
- Qthread char阵列在两个线程之间传递后被摧毁
- 在C 中使用两个CHAR变量评估布尔值
- 计数最低号码.char.从两个字符串中删除以使它们成为字眼
- 如何在c++中将计算分解为两个double和一个char
- C ++中的两个'char*'铸件有什么区别
- 比较c++中的两个char
- c++中连接两个char*的函数
- 连接两个char*会产生奇怪的结果
- 在 c++ 中使用 strcmp 比较两个 char 变量显示从 'char' 到 'const char*' 的无效转换
- 如何验证两个char *是否在Google Mock中相等?