- 227
- 5
- CPU
- i5 3570k cooled by MACHO Hr-02 Rev. A
- Scheda Madre
- Asrock z77 Extreme 4
- HDD
- SSD Samsung 840 250GB & HDD Samsung 1TB
- RAM
- Corsair Vengeance CL-9 8GB (4x2)
- GPU
- MSI R7870 HAWK
- Monitor
- LG Flatron M2362D
- PSU
- EVGA Supernova 750W B2
- Case
- NZXT Phantom 410
- OS
- Windows 7 64bit
Ciao ragazzi. Sono qui per chiedere aiuto riguardo al codice in C per creare una lista. Incollo qui di seguito il codice da me usato:
node *buildlis()
{
int x;
node *lis, *p, *last;
printf("nuovo numero da inserire in lista:\n");
scanf("%d", &x);
if (x<=0)
lis= NULL; /* caso di lista vuota */
else
{
/* inserzione del primo elemento in una lista */
last=newnode();
lis = last;
last->data = x;
last->next = NULL;
printf("nuovo numero da inserire in lista:\n");
scanf("%d", &x);
while (x>0)
/* Invariante: lis punta alla lista con tutti gli interi finora letti, tranne l'ultimo, e last punta all'ultimo nodo di tale lista */
{
p=newnode();
p->data = x;
p->next = NULL;
last->next = p;
last = p;
printf("nuovo numero da inserire in lista:\n");
scanf("%d", &x);
}
}
return(lis);
}
Non riesco proprio a capire la "logica" del codice. In particolare non riesco a capire le parti scritte in grassetto. Abbiate pietà, sono un novizio della programmazione. Grazie per l'aiuto!
node *buildlis()
{
int x;
node *lis, *p, *last;
printf("nuovo numero da inserire in lista:\n");
scanf("%d", &x);
if (x<=0)
lis= NULL; /* caso di lista vuota */
else
{
/* inserzione del primo elemento in una lista */
last=newnode();
lis = last;
last->data = x;
last->next = NULL;
printf("nuovo numero da inserire in lista:\n");
scanf("%d", &x);
while (x>0)
/* Invariante: lis punta alla lista con tutti gli interi finora letti, tranne l'ultimo, e last punta all'ultimo nodo di tale lista */
{
p=newnode();
p->data = x;
p->next = NULL;
last->next = p;
last = p;
printf("nuovo numero da inserire in lista:\n");
scanf("%d", &x);
}
}
return(lis);
}
Non riesco proprio a capire la "logica" del codice. In particolare non riesco a capire le parti scritte in grassetto. Abbiate pietà, sono un novizio della programmazione. Grazie per l'aiuto!