Salve a tutti.
Dunque, sono un neofita della programmazione sotto ambiente Linux (utilizzo una Mandrake 9.0).
Come editor uso emacs.
Nel passaggio di ambiente di sviluppo (Da Windows a Linux) mi sono accorto di avere alcune lacune per quanto riguarda la programmazione con il pinguino.
Per essere chiari, non riesco a capire certe volte come mai un codice, anche semplice, mi restituisce un Segmentation Fault.
Ovviamente, so che tipo di errore e' solitamente un Segmentation Fault, ad esempio quando si scrive su una parte di memoria in cui non si ha accesso o quando non vengono risolti i puntatori.
Vi posto un semplicissimo sorgente, che ho utilizzato per capire quando cado in Segmentation Fault.
#include <stdio.h>
int prova (int);
main()
{
int numero = 10, scelta = 0;
printf("Premere 1 per elevare %d al quadrato.", numero);
printf("\nInput: ");
scanf("%d", scelta);
if (scelta == 1)
printf("Per valore, %d", prova(numero));
return 0;
}
prova (int cifra)
{
return cifra * cifra;
}
Il programma si interrompe e mi rida' il Segmentation Fault quando come input inserisco uno ed a regola, main dovrebbe chiamare prova che a sua volta dovrebbe restituire il quadro del numero passato con una chiamata per valore.
Attendo speranzoso consigli e delucidazioni.
Ciao.
P.s. ovviamente prima di postare ho passato al setaccio il forum di HTML.it e non solo, ed il vecchio e caro inesauribile Google.