Devi inserire il terminatore nella stringa, ma il codice funziona

codice:
int main()
{
	int indice;
	char str[512];
	
	for (indice=0;( str[indice]=getchar() )!='\n';indice++);
	str[indice]=0;

	printf("%s\n", str);

	return 0;
}
Se hai altro codice prima o dopo che puo' influire, devi mostrarlo ...