Allora, ho modificato dopo vari sbattimenti il main in questo modo
EDIT: FUNZIONA !!
codice:
int main(int argc, char *argv[])
{
int value;
int n = argc;
int i;
int op2 = 0;
while (--n > 0)
{
argv++;
i = 0;
while ( isdigit( (*argv)[i++]))
;
/*
for (i = 0; (*argv)[i]; i++)
printf("i = %d \tc=%c\n", i, (*argv)[i]);
printf ("i = %d e argv[i] = %d\n", i, (*argv)[i]);
*/
if (i > 1 && (*argv)[i-1] == '\0')
{
value = atoi(*argv);
push(value);
printf("value is %d\n", value);
}
else if( isoperator(*argv) )
{
switch ( (*argv)[0])
{
case '+':
push (pop() + pop() );
break;
case '*':
push (pop() * pop() );
break;
case '-':
op2 = pop();
push(pop() - op2);
break;
case '/':
op2 = pop();
push(pop() - op2);
break;
default:
printf("Undefined operations\n");
break;
};
}
else
printf("Stringa non valida\n");
//
//
}
printf("%d\n", pop());
}