Mi sembrava di averti già suggerito la soluzione...

codice:
#include <stdio.h>
#include <stdlib.h>

struct utente
{
	int id;
	struct utente *next;
};

int main(void)
{
	char 	ris;
	struct utente *testa, *variante;

	testa = malloc(sizeof(struct utente));
	printf("Inserisci l'ID dell'utente: ");	scanf("%d", &testa->id);

        while ( getchar() != '\n' );

	variante = testa;
	
	printf(" - Altro utente da inserire? - ");	scanf("%c",&ris);

        while ( getchar() != '\n' );

	while( ris != 'n')
	{
		variante->next = malloc(sizeof(struct utente));
		printf("Inserisci l'ID dell'utente: "); scanf("%d", &variante->next->id);

                while ( getchar() != '\n' );

		variante->next->next= NULL;
		variante = variante->next;

		printf(" - Altro utente da inserire? - ");
		scanf("%c",&ris);

                while ( getchar() != '\n' );
	}	
	
	printf("%d", testa->id);
	printf("\n programma terminatao \n");

	return 0;
}