Programa não compila no CodeBlocks

Esse meu programa não estou conseguindo compilar no CodeBlocks do Windows:

#include <stdio.h>
#include <string.h>

int main() {
    char nome[100], sobrenome[100];

    printf("Digite seu nome: ");
    fgets(nome, 100, stdin);
    printf("Digite seu sobrenome: ");
    fgets(sobrenome, 100, stdin);

    // Verifica se o nome é "João" e se o sobrenome completo contém "Santos Vieira Junior"
    if (strcmp(nome, "João\n") == 0 && strstr(sobrenome, "Santos Vieira Junior") != NULL) {
        printf("Você é o cara!\n");
    } else {
        printf("Você não é o cara!\n");
    }

    return 0;
}

Ué, mas você postou foto executando o programa.
Se não compilasse, não iria executar.

Sim,mas quando eu digito o meu nome completo,o programa deve dizer:

Você é o cara!

e é isso que não está acontecendo,entendeu?

O que me parece é que o CodeBlocks do Windows deve ser bugado,porque eu compilei o mesmo programa no Linux com o CodeBlocks e funcionou:

Veja:

Porque o Codeblocks do Windows é bugado?

Não é o CodeBlocks, o problema são as quebras de linha que são diferentes entre Windows e Linux.

1 curtida