I am trying to write an application in C and I have a problem: I have some unwanted chars in my string2 array in the code part below:
#include <stdio.h>
#include <string.h>
#define max_len 100
int main() {
    char string1[max_len], string2[max_len], string3[max_len], temp[max_len];
    int m, n, i, j, k, min_str_len;
    puts("Enter your first word: ");
    gets(string1);
    puts("Enter your second word: ");
    gets(string2);
    m = strlen(string1);
    n = strlen(string2);
    min_str_len = ((m < n) ? m : n);
for (i = 0; i <= m; i++) {
    for (j = 0; j <= n; j++) {
        for (k = 0; k <= min_str_len; k++) {
            if (string1[i] == string2[j]) {
               //printf("%s",string2[j]);
               temp[k] = string2[j];
               break;
            }
             ...
         }
    }
}
So you see here a part of my code. I am assigning "placozoa" as string1, and "placement" as string2. Please see the line: //printf("%s",string2[j]); When I make this line active, I see: 
I did not understand why [] and ' characters are included in string2, I was just expecting to see "plac" there in the output.. The weird thing is, I am printing string2 array right after getting from the user (under gets(string2); line), and I see it is "placement" there.
What is happening in the middle, where is my mistake?

 
     
    