-2
char ** magazine;
char ** ransom;
*magazine = malloc(sizeof(char*) * m);
for(int magazine_i = 0; magazine_i < m; magazine_i++){
   magazine[magazine_i] = (char *)malloc(10240 * sizeof(char));
   scanf("%s",magazine[magazine_i]);
}
*ransom = malloc(sizeof(char*) * n);
for(int ransom_i = 0; ransom_i < n; ransom_i++){
   ransom[ransom_i] = (char *)malloc(10240 * sizeof(char));
   scanf("%s",ransom[ransom_i]);
}

Now I want to compare the string stored in ransom to magazine. How it can be done? Please help

1 Answers1

2

You can use strcmp in a loop:

for (i = 0; i < n; i++) {
    if (strcmp(magazine[i], ransom[i]) == 0) {
        ...
    }
}

But if (as the title suggests) ransom is declared as a pointer to pointer to char:

char **ransom;

you don't want the dereference operator *

*ransom = malloc(sizeof(char*) * n);

should be

ransom = malloc(sizeof(char*) * n);
David Ranieri
  • 39,972
  • 7
  • 52
  • 94