IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Pointeur et chaîne de caractères


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Pointeur et chaîne de caractères
    Salut

    J'ai un petit problème avec un code qui est censé compter le nombre de caractères qu'il y'a dans une chaîne à l'aide des pointeurs. Voilà ce que j'ai codé mais il me sort toujours qu'il n'y a qu'un caractère dans la chaîne

    Si vous pouviez me filer un petit coup de main ça serait sympa parce que je ne comprends pas mon erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #include <stdio.h>
    #include <stdlib.h>
    char leMessage;
    char *lePtDeMessage=&leMessage;
    int i=0;
    int cetteLongueur(leMessage){
    	for(;*lePtDeMessage!='\0';*lePtDeMessage++)
    		i++;
    printf("la longueur de la chaine est de %d caractere(s)",i);
    		return 0;
     
     
     
    }
     
     
     
    int main(void){
    	leMessage=getchar();
    		cetteLongueur(leMessage);
     
    getch();
    		return 0;
     
     
    }
    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    leMessage=getchar();
    getchar () renvoie seulement UN caractère et non une chaîne de caractères...
    Voilà, au moins une erreur...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Mmmm Merci bien, mais quelle est la fonction pour renvoyer une chaîne alors ? Parce que là je suis bloqué

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut
    Pour saisir une chaine de caractere au clavier utilise fgets.
    Cela sous-entend que "leMessage" doit être de type char* et non char (char = UN caractere)

    Ensuite tes déclarations de fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int cetteLongueur(leMessage)
    c'est pas du propre... il vaut mieux indiquer le type des paramètres

    Et enfin, évite de déclarer tes variables en globales, surtout celles que tu utilises que dans la fonction "cetteLongueur"

    Et dernier conseil : fais attention à l'indentation, histoire de relire plus facilement le code...

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par gijode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	for(;*lePtDeMessage!='\0';*lePtDeMessage++)
    		i++;
    En dehors du fait que tu es nominé d'office au concours du code le plus laid, ceci ne fait pas ce que tu crois. C'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	for(;*lePtDeMessage!='\0';lePtDeMessage++)
    		i++;
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/05/2011, 17h58
  2. Pointeurs et chaînes de caractères
    Par yo_haha dans le forum Débuter
    Réponses: 30
    Dernier message: 28/11/2008, 21h37
  3. Pointeur & chaînes de caractéres
    Par Delnir dans le forum Débuter
    Réponses: 5
    Dernier message: 06/02/2008, 13h58
  4. Chaînes de caractères et pointeurs
    Par Opérateur dans le forum C
    Réponses: 12
    Dernier message: 12/12/2006, 06h24
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo