Ok perfetto:
#include <stdio.h>
#include <stdlib.h>
typedef unsigned short int boolean;
#define TRUE 1
#define FALSE 0
int main(void);
boolean addlist(struct list**ptrptr,int x);
struct list {
int value;
struct list * next_ptr;
};
int main()
{
struct list **ptrptr;
int x;
addlist(struct list**ptrptr,int x);
return(0);
}
boolean addlist(struct list**ptrptr,int x)
{
boolean found;
struct list *tmp_ptr;
if(*ptrptr==NULL)
found=FALSE;
else
{
found=TRUE;
while(*ptrptr!=NULL)
{
while(x!=0)
{
tmp_ptr=*ptrptr;
ptrptr=&((*ptrptr)->next_ptr);
tmp_ptr->value=tmp_ptr->value+*ptrptr->value;
*ptrptr=(*ptrptr)->next_ptr;
*ptrptr=tmp_ptr;
x++;
}
ptrptr=&((ptrptr)->next_ptr);
}
}
return(found);
mi sono gia accorto di alcuni errori chiamiamoli di distrazione ma secondo me il vero problema sta nella parte finale del programma all'interno dell'ultimo while