比较 C 中的单词数组

Compare arrays of words in C

如何在 C 中比较 char 的二维数组? 我试过这个

        Char **arr_1;
        Char **arr_2;

        ...// malloc. Its OK. 

        for (I=0; I<n; I++)
        {
           If (strcmp (arr_1[I],arr_2[I])==0)
                // do smth
        }

但这不起作用。我不擅长指点。

数组有一些单词数组。

Ubuntu gcc

没有 strcmp,程序可以运行。

谢谢

你一定是分配了二维动态数组错误。
考虑这段代码:

int SIZE=5;

char **arr_1;
arr_1 = malloc(SIZE* sizeof(char *)); //initialising an array of pointers

char **arr_2;
arr_2 = malloc(SIZE* sizeof(char *)); //initialising an array of pointers

for(i=0;i<SIZE;i++)  
{
    printf(" Enter a name\n");  
    arr_1[i]=malloc(100*sizeof(char)); //for each pointer in this array allocate an array of characters
    scanf("%99s",arr_1[i]);
}

for(i=0;i<SIZE;i++)  
{
    printf(" Enter a name\n");  
    arr_2[i]=malloc(100*sizeof(char)); //for each pointer in this array allocate an array of characters
    scanf("%99s",arr_2[i]);
}


for(i=0;i<SIZE;i++)  
{
    if(strcmp(arr_1[i],arr_2[i])==0)
   //do smthing 
}

你可以的。

char arr_1[10][10];
char arr_2[10][10];

int n;
scanf("%d",&n);

for(int i=0; i<n; i++)
{
    scanf(" %[^\n]",arr_1[i]);
    scanf(" %[^\n]",arr_2[i]);
}

for(int I=0; I<n; I++)
{
    if(strcmp (arr_1[I],arr_2[I])==0)
    {
        // do smth
    }
}