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 :

fonction et pointeur


Sujet :

C

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut fonction et pointeur
    bonjour je suis debutant en C , j'ai quelque probleme
    j'ai fait un pregramme qui affiche les composants d'un tableau avec le formalisme pointeur mais avec une fonction qui retourne un pointeur qui est pointé sur un tableau le code se compile sans aucun probleme mais dans le resulat il me donne juste la premiere case le 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
    19
    20
    21
    22
    23
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    int *affiche(int *p,int n,int *t);
    int main(){
    int n,t[50],*p;
    p=t;
    printf("entrer la taille <50:  ");
    scanf("%d",&n);
    for(p=t;p<=t+n-1;p++){
    scanf("%d",p);
    }
     
    printf("le tableau est : ");
    for(p=t;p<=t+n-1;p++){
    printf("%d\n",*affiche(p,n,t));
    }
    }
    int  *affiche(int *p,int n,int *t){
    for(p=t;p<t+n;p++){
    return p;
    }
    }
    le resulat :
    Nom : 667.png
Affichages : 124
Taille : 2,7 Ko

  2. #2
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Points : 2 347
    Points
    2 347
    Par défaut
    Citation Envoyé par ismail096 Voir le message
    int *affiche(int *p,int n,int *t){
    for(p=t;p<t+n;p++){
    return p;
    }
    }

  3. #3
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Alors :

    1. C'est difficilement lisible : indente et aère ton code. Tu nous faciliteras la tâche et tu te rendras bien mieux compte de ce que tu écris.
    2. Ta fonction affiche contient une boucle qui return dès la première itération, ce n'est sans doute pas ce que tu cherches à obtenir.
    3. conio.h, sans déconner ça existe encore ça ? Hors de la scène homebrew DOS, je veux dire.

  4. #4
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    je chercher a obtenir le tableau saisie au dessus
    bref ,je cherche comment peut on renvoyer l'adresses des cases d'un tableau

  5. #5
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    La ligne : printf("%d\n",*affiche(p,n,t));
    Est à remplacer par : printf( "%d\n" , *p );
    Car ta variable p est tout simplement l'adresse de chacun des élements du tableau!

    Sinon pour avoir l'adresse d'un élément on fait tout simplement: &t[i]

Discussions similaires

  1. Passage de tableau à une fonction par pointeur
    Par progfou dans le forum C++
    Réponses: 15
    Dernier message: 23/02/2007, 11h45
  2. Fonction et pointeur
    Par Flophx dans le forum C
    Réponses: 14
    Dernier message: 22/02/2007, 17h29
  3. Réponses: 8
    Dernier message: 10/03/2006, 17h28
  4. C++ Problème de fonctions et pointeurs
    Par zmatz dans le forum C++
    Réponses: 3
    Dernier message: 01/10/2005, 16h20
  5. Réponses: 10
    Dernier message: 03/02/2005, 13h09

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