Un saluto a tutti i programmatori (o agli aspiranti tali)
Sto provando ad orientarmi tra i complicati meandri dell'uso di puntatori. In questo momento sto provando a realizzare una calcolatrice da riga di comando in notazione polacca.
Facendo delle prove generiche per provare il codice volta per volta, ottengo un errore di segmentation fault se provo ad eseguire questo codice
Inoltre, poichè la calcolatrice polacca dovrebbe essere gestita come una pila, ho provato a scrivere queste due funzioni push e pop in questo modo.codice:int main(int argc, char *argv[]) { while (--argc > 0) { if ( isdigit(*++argv)) printf("numero %f\n", (double) *argv); } }
Sembra funzionare bene dopo svariate prove, ma volevo capire se è possibile migliorarlo in qualche modo.codice:#define MAX_OP 100 double stack[MAX_OP]; double *p = stack; void push(double n) { *p++ = n; } double pop(void) { return *--p; }
Grazie mille a tutti per l'attenzione![]()

)
Rispondi quotando