Почему некорректно сравнивает строки?

Вот код, он сравнивает данные из файла(пока не выделял память динамически, поэтому цикл работает настройкой вручную), он находит похожие слова из файла, но так же находит какие то пустые символы(пробелы и символы конца строки я удаляю).

#include <stdio.h>
#include <string.h>
#define LEN 100

int main() {

  FILE *fp=fopen("test", "r");
  char str[LEN]; 
  char arr[LEN][LEN]; 
  char *istr;
  for(int i=0; i<10; i++) { 
    istr=fgets(str, LEN, fp);
    printf(" %s", istr);
    for(char *istr = strtok(str," \t\n"); istr; istr = strtok(NULL," \t\n")) {
    strcpy(arr[i++],istr);
  }
  }
  for(int i=0; i<10;i++) {
    for (int j=i+1;j<10;j++) {
      if(strcmp(arr[i],arr[j])==0)
      printf("\n%s==%s\n",arr[i],arr[j]);
    }
  }
  fclose(fp);
  return 0;
}

Ответы (0 шт):