比较 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
}
}
如何在 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
}
}