O arquivo a.out ainda é deixado de quando os compiladores estavam usando o formato a.out. Se você verificar o arquivo com file a.out , verá que está no formato ELF.
Para especificar o nome do arquivo de saída, use cc -o exec_name code.c .