Non commento nemmeno la seconda riga che non so come ti sia venuta in mente... 
Metodo facile:
codice:
char finale[85]="HELO ";
char hostname[80]
gethostname(hostname, sizeof(hostname));
strncat(finale, hostname, sizeof(finale)-strlen(finale));
finale[sizeof(finale)-1]=0;
Metodo astuto:
codice:
char finale[85]="HELO ";
size_t lenFinale=strlen(finale);
gethostname(finale+lenFinale, sizeof(finale)-lenFinale);
Poi in realtà non importa davvero cosa metti come nome host: i server SMTP se ne fregano altamente del nome che gli fornisci, dal momento che nel 90% dei casi sono nomi interni a reti locali.