发布网友 发布时间:2022-06-23 12:30
共3个回答
热心网友 时间:2023-10-03 01:56
#include "stdio.h"追问请问!要判断两数组相等怎么判断?如a{1,2,3,4}b{{1,2,3,4},{1,5,6,7}},判断a与b的那一行相等,并输出行的位置
追答#include "stdio.h"
#define M 4
int matchIndex(int preArray[], const int N, int array[][M]);
int main(int argc, char** argv) {
int a[] = {1, 2, 3 ,4};
int b[][M] = {{1, 5, 6, 7}, {1, 2, 3, 4}};
int ref = matchIndex(a, 2, b);
printf("Match result is : %d\n", ref);
return 0;
}
//返回第一个匹配的列
int matchIndex(int preArray[], const int N, int array[][M])
{
int i,j = 0;
for (i = 0; i < N; ++ i) {
char isMatch = 1;//用来判断是否符合
for (j = 0; j < M; ++ j) {
if (array[i][j] != preArray[j]) {
isMatch = 0;
break;
}
}
if (isMatch) {
return i;
}
}
return -1;
}
热心网友 时间:2023-10-03 01:57
你的说法就有错误,你的数组A开始是一维数组,而把B加入后怎么A就成了二维数组了,还有C语言里面数组是不能动态定义大小的,如果你要动态定义的话,那是一种新的数据类型:链表。因为比较麻烦,你可以自己去查查相关的资料。C语言你如果想要链接两个数组的话,可以用strcat字符串链接函数试试,函数原型:extern char *strcat(char *dest,char *src);热心网友 时间:2023-10-03 01:57
首先数组定义的内存空间要足够大