[C] - Erreur de segmentation
Résolu
racou56
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
racou56 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
racou56 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aurais besoin de votre aide pour le tuto sur le C du SDZ.
Je suis au chapitre 13 sur les chaînes de caractères, au moment ou l'on fait une sorte de fonction strlen.
J 'ai fait le code et lors de la compilation à la ligne du while (l.27) cette erreur apparaît :
attention : constante caractère multi-caractères [-Wmultichar]
Et lorsque je relance une deuxième compilation sans rien changer la console s'ouvre et écrit : Segmentation fault.
Voici le code :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int lngChaine(const char* chaine);
int main(int argc, char *argv[])
{
char chaine[] = "Salut";
int longueur = 0;
longueur = lngChaine(chaine);
printf("La chaine \"%s\" fait %d caractères de long", chaine, longueur);
return 0;
}
int lngChaine(const char* chaine)
{
int nbrCara = 0;
char caraActuel = 0;
do
{
caraActuel = chaine[nbrCara];
nbrCara++;
}while(caraActuel != '/0');
return nbrCara--;
}
En espérant trouver une réponse au problème.
Cordialement.
J'aurais besoin de votre aide pour le tuto sur le C du SDZ.
Je suis au chapitre 13 sur les chaînes de caractères, au moment ou l'on fait une sorte de fonction strlen.
J 'ai fait le code et lors de la compilation à la ligne du while (l.27) cette erreur apparaît :
attention : constante caractère multi-caractères [-Wmultichar]
Et lorsque je relance une deuxième compilation sans rien changer la console s'ouvre et écrit : Segmentation fault.
Voici le code :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int lngChaine(const char* chaine);
int main(int argc, char *argv[])
{
char chaine[] = "Salut";
int longueur = 0;
longueur = lngChaine(chaine);
printf("La chaine \"%s\" fait %d caractères de long", chaine, longueur);
return 0;
}
int lngChaine(const char* chaine)
{
int nbrCara = 0;
char caraActuel = 0;
do
{
caraActuel = chaine[nbrCara];
nbrCara++;
}while(caraActuel != '/0');
return nbrCara--;
}
En espérant trouver une réponse au problème.
Cordialement.
A voir également:
- [C] - Erreur de segmentation
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
4 réponses
Remplace
Bonne continuation?
printf("La chaine \"%s\" fait %d caractères de long", chaine, longueur);par
printf("La chaine \"%s\" fait %d caracteres de long", chaine, longueur);Et tout ira mieux.
Bonne continuation?
Remplace printf("La chaine \"%s\" fait %d caractères de long", chaine, longueur); par printf("La chaine \"%s\" fait %d caracteres de long", chaine, longueur);
Le problème n'est pas là, je suis sous linux (oublié de le préciser) donc les caractères spéciaux en console ca passe.