je vais te donner un exemple :
tu fais une fonction qui calcule l'aire d'un triangle
double aire(double B,double h) { return B*h/2;}
Afin de savoir si ta fonction est bien codée, tu essayes pour des valeurs de B e h et tu regardes la valeur renvoyée par ta fonction.
aire(1,1); aire(1,3);
aire(-1,5) -> mauvais, tu obtiens une valeur négative
Donc il faut que tu corriges :
double aire(double B,double h)
{
assert(B>0. && h>0.);
return B*h/2;
}
Plus compliqué : si ta fonctin contient des if...then...else, il faut que tu testes tous les cas.
Un segmentation fault provient très généralement d'un pointeur...

