Hmmm.... e se eu dissesse a vocês que o erro só aconteceu por causa de um espaço em branco? printf("Digite o Nome do piloto do carro vermelho:\n");
scanf("%s ",&nomevermelho);
Aircrash, se você observar bem, verá que colocou um espaço em branco após o %s, antes de fechar as aspas.
Para "tentar" entender porque isso acontece, veja esta imagem (texto, enfim...): SCANF
E, bom, o Lucas tem razão quando diz que, para strings, a função scanf deve ser usada sem o E comercial (&)
scanf("%s", nomevermelho);