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 :

tester que tous les caracteres d'un chaine sont des chiffres


Sujet :

C

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 127
    Points
    127
    Par défaut
    Citation Envoyé par DaZumba
    Par contre, ton idee de te passer de la variable locale *p et boucler directement sur s est tres bonne !
    Ah bon ?
    l'adresse de s ne sera pas modifié au retour de la fonction ?

  2. #22
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par tomasha
    Ah bon ?
    l'adresse de s ne sera pas modifié au retour de la fonction ?
    Non puisque les arguments sont passés par valeur : l'adresse de la chaîne est copiée dans s par contre c'est le contenue de s qui peut être modifié via le pointeur mais dans ce cas la chaînee est décalrée comme constante donc aucun risque! Le mieu pour s'en persuader est d'essayer :
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <ctype.h>
     
    int all_digits(const char *);
     
    int main (void)
    {
       const char *txt = "12345";
     
       if (all_digits(txt))
          printf ("%s\n", txt);
       getchar();
       return (EXIT_SUCCESS);
    }
     
    int all_digits(const char *s){while(*s++&&isdigit(*s));return!*s;}

  3. #23
    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 tomasha
    Citation Envoyé par DaZumba
    Par contre, ton idee de te passer de la variable locale *p et boucler directement sur s est tres bonne !
    Ah bon ?
    l'adresse de s ne sera pas modifié au retour de la fonction ?
    Mais non...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XMLUnit] Comment vérifier que tous les éléments d'une séquence sont présents
    Par Fifan31 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 21/05/2013, 15h30
  2. Réponses: 2
    Dernier message: 23/01/2013, 12h16
  3. Réponses: 0
    Dernier message: 06/04/2012, 16h41
  4. Eclairer tous les espaces d'un chaine de caracteres
    Par mihaispr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/03/2010, 11h19
  5. [langage] remplacer les caractères d'une chaine
    Par perlaud dans le forum Langage
    Réponses: 14
    Dernier message: 12/05/2004, 11h05

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