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 :

Question de débutant


Sujet :

C

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur/Chercheur
    Inscrit en
    Novembre 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur/Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 122
    Points : 46
    Points
    46
    Par défaut Question de débutant
    Bonjour,
    je suis un tutoriel pour me former à C et j'ai un souci pour gérer les tableaux. Voila mon code :
    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int sommeTableau(int *tableau, int tailleTableau){
    	int s=0,i=0;
    	for(i=0;i<=tailleTableau;i++) {
    		s=s+tableau[i];
    	}
    	return s;
    }
     
    int main()
    {
    int t[4]={1,2,3},i=0;
    printf("%d\n",sommeTableau(&t,4));
     
    return 0;
    }
    et voila l'erreur quand je compile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    main.c: In function ‘main’:
    main.c:15:1: attention : passing argument 1 of ‘sommeTableau’ from incompatible pointer type [enabled by default]
    main.c:4:5: note: expected ‘int *’ but argument is of type ‘int (*)[4]
    C'est où que je me trompe ?
    Merci.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Deux petites remarques :
    • La variable i est non utilisée.
    • Ton initialisation ne comportement que 3 éléments, le 4e sera donc égal à 0.


    Pour ton problème, tu lui donnes &t qui n'est pas de type int*.

    --> t est converti automatiquement en &t[0], donc en pointeur sur int.

    --> il y a la même conversion implicite mais tu utilises en plus l'opérateur & donc tu te retrouves avec l'adresse d'un pointeur.

    Comme t n'est pas un pointeur de type int* mais un tableau de 4 éléments, le warning te dit que tu lui passes un int(*)[4] : pointeur sur tableau de 4 int.

    D'où l'erreur

    Si tu déclares t comme un tableau, je te conseille l'appel suivant pour donner la taille réelle du tableau et non la taille supposée (si tu utilises un vrai pointeur un malloc() puisque tu ne peux pas connaitre la taille allouée à partir du pointeur seul) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sommeTableau(t,sizeof t / sizeof t[0])

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur/Chercheur
    Inscrit en
    Novembre 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur/Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 122
    Points : 46
    Points
    46
    Par défaut
    OK, j'ai tout compris.
    La variable i est utilisée pour une boucle et j'ai oublié de l'enlever en isolant ce que je voulais.
    J'ai fait exprès de n'initialiser que 3 valeurs pour "voir".
    Merci pour l'explication.

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Tu peux jeter un oeil ici : http://gradot.wordpress.com/2012/09/...ructures-en-c/

    En gros, si tu as un initialisateur trop court, tout ce qu'il reste est mis à zéro. Si tu n'en as pas, aucune initialisation n'est fait et la mémoire contient des données "poubelles", sauf pour les variables globales qui sont toutes par défaut mise à zéro. C'est valable pour les structures et les tableaux.

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur/Chercheur
    Inscrit en
    Novembre 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur/Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 122
    Points : 46
    Points
    46
    Par défaut
    Maintenant, j'ai essayé de séparer le code en plusieurs fichiers. Dans mon répertoire, j'ai
    main.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <stdio.h>
    #include <stdlib.h>
    #include "tableau.h"
     
    int main()
    {
    int t[4]={1,2,3};
    printf("%d\n",sommeTableau(t,4));
     
    return 0;
    }
    tableau.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>
    #include <stdlib.h>
     
    int sommeTableau(int *tableau, int tailleTableau){
    	int s=0,i=0;
    	for(i=0;i<=tailleTableau;i++) {
    		s=s+tableau[i];
    	}
    	return s;
    }
     
    int main() {}
    tableau.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int sommeTableau(int *tableau, int tailleTableau);
    Lorsque je fais gcc main.c, j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /tmp/cccUC3HI.o: dans la fonction « main »:
    main.c:(.text+0x63): référence indéfinie vers « sommeTableau »
    collect2: erreur: ld a retourné 1 code d'état d'exécution
    Cette fois c'est quoi, la bêtise ?

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par binome-x Voir le message
    Lorsque je fais gcc main.c, j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /tmp/cccUC3HI.o: dans la fonction « main »:
    main.c:(.text+0x63): référence indéfinie vers « sommeTableau »
    collect2: erreur: ld a retourné 1 code d'état d'exécution
    Cette fois c'est quoi, la bêtise ?
    C'est une erreur à l'édition de liens, tu as oublié de compiler et de linker avec tableau.c

    Essaye "gcc main.c tableau.c"
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Attention ! tableau.c ne doit pas contenir int main() {} :O

    On ne rappelle le prototype d'une fonction f() que si elle est utilisée dans le fichier en cours, pour que les fonctions de ce fichier sachent que cette fonction f() existe et comme elle s'utilise. Ici, main() n'est pas utilisée.

    De plus, int main() {} définie une nouvelle fonction à cause des accolades. C'est une fonction qui ne fait rien et tu auras un warning du compilateur car elle ne renvoie rien alors qu'elle est censée renvoyer un int. A l'édition des liens, tu risques même d'avoir une erreur "duplicated function main()".

    Enfin, la fonction main() est une fonction très spéciale. Tu ne dois jamais l'appeler, donc tu n'as jamais besoin d'y faire référence. Le compilateur la connait sans tu es besoin de lui dire.

  8. #8
    Membre du Club
    Homme Profil pro
    Ingénieur/Chercheur
    Inscrit en
    Novembre 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur/Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 122
    Points : 46
    Points
    46
    Par défaut
    OK pour l'edition de liens. J'avais dû penser que ça se faisait tout seul mais maintenant ça me semble stupide.
    OK aussi pour main().
    Maintenant, ça compile mais l’exécution de a.out me donne 134513878 alors que j'attends 6. Vous voyez un autre truc débile ?

  9. #9
    Membre expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Points : 3 532
    Points
    3 532
    Par défaut
    Essaye au hasard de changer la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i = 0; i < tailleTableau; i++)
    Ou d'appeler seulement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%d\n", sommeTableau(t, 3));
    Je n'assure rien, mais "sait-on jamais" ! :o
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  10. #10
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut
    Je rejoins Metalman, si tu parcours un tableau de 3 cases en faisant une boucle de 0 à 3 compris => nombre d'elements: 3-0+1=4, tu en as pris un de trop.
    Sauf que celui en trop, on sait pas trop quelle valeur elle a
    Prends l'habitude de mettre (i=0; i<nb_elements; i++)

  11. #11
    Membre du Club
    Homme Profil pro
    Ingénieur/Chercheur
    Inscrit en
    Novembre 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur/Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 122
    Points : 46
    Points
    46
    Par défaut
    Oui, c'était bien ça. Ca affichait une case mémoire qui pouvait valoir n'importe quoi.

    Je continue avec un autre problème :
    voila mon code :
    main.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>
    #include <stdlib.h>
    #include "tableau.h"
     
    int main()
    {
    int t[6]={1,2,3};
    printf("%d\n",afficheTableau(t,6));
    printf("somme : %d\n",sommeTableau(t,6));
     
    return 0;
    }
    tableau.c :
    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>
     
    void afficheTableau(int *tableau, int tailleTableau){
    	int i=0;
    	for(i=0;i<tailleTableau;i++) {
    		printf("case %d : %d\n",i,tableau[i]);
    	}
    }
     
    int sommeTableau(int *tableau, int tailleTableau){
    	int s=0,i=0;
    	for(i=0;i<tailleTableau;i++) {
    		s=s+tableau[i];
    	}
    	return s;
    }
    et le réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    case 0 : 1
    case 1 : 2
    case 2 : 3
    case 3 : 0
    case 4 : 0
    case 5 : 0
    6
    somme : 6
    Je ne comprends pas la septième ligne...

  12. #12
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par binome-x Voir le message
    Je ne comprends pas la septième ligne...
    La 2eme ligne de ton main() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%d\n",afficheTableau(t,6));
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  13. #13
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%d\n",afficheTableau(t,6));
    Cette ligne ne génère pas de message de compilation ? :s

    afficheTableau() ne renvoie pas de valeur, quelle valeur penses-tu que le formateur %d va donc prendre ?

  14. #14
    Membre expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Points : 3 532
    Points
    3 532
    Par défaut
    Citation Envoyé par binome-x Voir le message
    J'ai fait exprès de n'initialiser que 3 valeurs pour "voir".
    Tu avais été prévenu avant que j'ajoute ma réponse !
    Mais maintenant tu as "vu" que ça fait n'importe quoi en effet !
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  15. #15
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut
    Citation Envoyé par binome-x Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int main()
    {
    int t[6]={1,2,3};
    printf("%d\n",afficheTableau(t,6));
    printf("somme : %d\n",sommeTableau(t,6));
     
    return 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void afficheTableau(int *tableau, int tailleTableau){
    	int i=0;
    	for(i=0;i<tailleTableau;i++) {
    		printf("case %d : %d\n",i,tableau[i]);
    	}
    }
    Je ne comprends pas la septième ligne...
    Ta fonction afficheTableau envoie un printf avec la case et l'element. Il envoie sur la sortie standard directement les valeurs que tu as dans ton tableau.
    Mais dans cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%d\n",afficheTableau(t,6));
    Tu fais quoi?
    Tu affiches une variable avec %d donc un entier qui vaut ???
    D'ou la derniere ligne:
    Je ne comprends pas la septième ligne...
    Moi non plus désolé

  16. #16
    Membre du Club
    Homme Profil pro
    Ingénieur/Chercheur
    Inscrit en
    Novembre 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur/Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 122
    Points : 46
    Points
    46
    Par défaut
    Ah oui, cette fonction ne renvoie rien. C'est bizarre que le compilateur ne crie pas "Ô scandale !".
    Merci.

  17. #17
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut
    Ah oui, cette fonction ne renvoie rien.
    Vrai et faux:
    Elle est en void donc elle ne renvoie rien effectivement.
    Mais elle comprend un printf() donc tu affiches sur la sortie standard des trucs.
    Ces trucs étant le numero de la case (1 à 6) et la valeur qu'elle contient (1,2,3,0,0,0).

    C'est bizarre que le compilateur ne crie pas "Ô scandale !".
    J'avoue!

    printf("%d\n",afficheTableau(t,6));
    Tu changes juste cette ligne par:

    afficheTableau(t,6);
    printf("\n");
    Et tu devrais avoir ce que tu cherchais à faire

  18. #18
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("\n",afficheTableau(t,6));
    Je ne parierai pas sur le comportement car il n'y aucun formateur donc je ne sais pas si la fonction sera réellement évaluée
    -->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    afficheTableau(t,6);
    putchar('\n');
    Soyons prudent et surtout logique

    EDIT : je vois que tu as édité ton message avant que je n'envoie le mien ^^

    EDIT bis : avec MinGW et les options -Wall -Wextra, le code suivant produit 2 erreurs de compilation :
    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
    #include <stdio.h>
    #include <stdlib.h>
     
    void f(int len)
    {
        for(int i=0; i<len; i++)
            printf("%d ", i);
    }
     
    int main()
    {
        printf("%d\n", f(5));
     
        puts("--------");
        printf("\n", f(5));
     
        return 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    D:\Users\pgradot\Documents\C\main.c||In function 'main':|
    D:\Users\pgradot\Documents\C\main.c|12|error: invalid use of void expression|
    D:\Users\pgradot\Documents\C\main.c|15|error: invalid use of void expression|
    ||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===|

  19. #19
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut
    Oui j'ai vu ça au moment j'ai appuyé sur envoyer ^^

    Ca parait logique vu que la fonction étant en void ne peut pas mettre une valeur pour le %d. Bref

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/06/2005, 10h56
  2. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51
  3. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  4. Questions de débutant
    Par J-P-B dans le forum XMLRAD
    Réponses: 12
    Dernier message: 24/07/2003, 15h19
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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