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...

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;
	}
}
Sto usando gcc su Ubuntu 9.10 se può essere di aiuto!

Grazie dell'attenzione!