C'est une question pour les débutants: pourquoi cette rupture/donner une erreur?Pourquoi ce programme donne-t-il un défaut de segmentation?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *strtrim_right(char *p)
{
char *end;
int len;
len = strlen(p);
while (*p && len)
{
end = p + len-1;
if(isalpha(*end))
*end =0;
else
break;
}
return(p);
}
int main()
{
char *x="PM123BFD";
strtrim_right(x);
printf("%s", x);
return 0;
}
Quelle est l'erreur? Quelle ligne? Quel compilateur? Quelle plateforme? Comment vous attendez-vous que nous vous aidions si vous ne fournissez pas d'informations? –
@Alexandre Segfault – NullUserException
"Conversion obsolète de la chaîne de caractères en 'char *'" pour x; utilisez plutôt un tableau char: char x [] = ... – slashmais