Ciao,
devo fare un progettino e sto rinfrescando il mio C, non senza problemi!
Il problema nel codice dell'esercizietto sotto e che mi da un segmentation fault dopo la terza scanf!le ho provate tutte ma niente...
Sto usando gcc su Ubuntu 9.10 se può essere di aiuto!codice:#include <stdio.h> #include <stdlib.h> void scelta_operazione(char *operazione, int a, int b); int main(void){ int a = 0; int b = 0; char *op = NULL; printf("Inserisci due numeri interi!\n"); printf("a = "); scanf("%d", &a); printf("b = "); scanf("%d", &b); printf("Inserisci l'operazione da effettuare:"); scanf("%s", op); scelta_operazione(op, a , b); return 0; } void scelta_operazione(char *operazione, int a, int b){ int scelta = 0; char *somma = "somma"; char *prodotto = "prodotto"; char *differenza = "differenza"; if( strcmp( operazione , somma ) == 0 )scelta = 1; if( strcmp( operazione , prodotto ) == 0 )scelta = 2; if( strcmp( operazione , differenza ) == 0 )scelta = 3; else return; switch(scelta){ case 1: printf("L'operazione da te scelta è la somma.\n Il risultato è a+b = %d ", a + b); break; case 2: printf("L'operazione da te scelta è il prodotto.\n Il risultato è a*b = %d ", a * b); break; case 3: printf("L'operazione da te scelta è la differenza.\n Il risultato è a-b = %d ", a - b); break; default: printf("ERRORE: Operazione non disponibile!"); break; } }
Grazie dell'attenzione!![]()

Rispondi quotando