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 :

Conversion Type C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de chercheur111
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 352
    Par défaut Conversion Type C
    Bonjour,

    Voici mon programme:
    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>
     
    int main ( int argc , char * argv[] ) 
    { 
     
    		  int x=atoi(argv[1]);
    		  printf("x=%d\n",x);
    		  int y= (int)argv[2];
                      printf("y=%d",argv[2]);
     
     
    } 
     
    exécution: $ ./prog 2 3
    x=2
    y=1630209860
    Qu'est ce qu'elle présente la valeur de y ?
    Merci.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 477
    Par défaut
    Bonsoir,

    • Tu as fait une erreur lors de ton deuxième printf. Tu as à nouveau écrit « argv[2] » au lieu de « y » ;
    • D'une manière générale, les arguments sont des chaînes de caractères, et pas des valeurs numériques. Les valeurs de argv[x] sont donc toutes des pointeurs vers ces chaînes de caractères.


    Ce que tu vois est donc l'adresse en mémoire de ton deuxième paramètre, exprimée en décimal.

  3. #3
    Membre éclairé Avatar de chercheur111
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 352
    Par défaut
    oui je m'excuse pour la faute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    int main ( int argc , char * argv[] ) 
    { 
     
    		  int x=atoi(argv[1]);
    		  printf("x=%d\n",x);
    		  int y= (int)argv[2];
                     printf("y=%d",y);
    } 
     
    $ ./prog 2 3
    x=2
    y=1630209860
    Ma question: est-ce que 1630209860 est une @ mémoire ?

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Dans le cas présenté, c'est soit une adresse mémoire (0x612B0744), soit une partie d'une adresse mémoire, dépendant de la plate-forme.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb conversion type vers Cstring
    Par FamiDoo dans le forum MFC
    Réponses: 6
    Dernier message: 04/08/2006, 09h58
  2. Conversion type JAVA-Oracle
    Par zuzuu dans le forum JDBC
    Réponses: 1
    Dernier message: 23/07/2006, 05h36
  3. conversion type C
    Par oceane dans le forum Langage
    Réponses: 22
    Dernier message: 25/11/2005, 15h25
  4. Réponses: 5
    Dernier message: 15/11/2005, 08h57
  5. [Crystal reports Version 8.x] Conversion Type chaîne en date
    Par Audrey Stelle dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2005, 14h58

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