Ciao,
stavo scrivendo un programma per visualizzare le tabelline,
Ho previsto un menu che consente di scegliere tra + e *.
Il programma dovrebbe avere un output del genere:

* | 1| 2| 3| 4| 5| 6
-- +--+--+--+-+-- +--
1| 1| 2| 3| 4| 5 | 6
-- +--+--+-+--+-- +--
2| 2| 4| 6| 8| 10| 12

e cosi via....

Ho scritto il ciclo for per disegnare la prima riga,ma ho gia pensato a come stampare anche le altre.

Il codice e' il seguente:
codice:
#include <stdio.h>



main()
{
 int i,n;
 char car;
 printf("\n// Digitare il simbolo dell'operazione desiderata\n// per la visualizzazione della tabella\n\n\'+' per la tabella della somma\n'*' per la tabella del prodotto\n\n\t\t\t\t\t\t\tScelta:");
 scanf("%c",&car);
 printf("\ndigita un numero intero da 1 a 12: ");
 scanf("%d",&n);
 printf("\n");
 printf(" %c ",car);
 for(i=0;i<n;i++) {
     char s[12];
     int cont=0;
     sprintf(s,"%s",i);
     while(s[cont]!='\n') 
           cont++;
     if (cont==1) printf("|  %d",i);
     if (cont==2) printf("| %d",i);  
 }
}
L'output mi da il seguente errore:
codice:
// Digitare il simbolo dell'operazione desiderata
// per la visualizzazione della tabella

'+' per la tabella della somma
'*' per la tabella del prodotto

							Scelta:*

digita un numero intero da 1 a 12: 3

Segmentation fault