begin process at 2012 05 29 13:45:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

[C] Pointeur int comme paramètre dans une function qui ne marche pas


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[C] Pointeur int comme paramètre dans une function qui ne marche pas

mercredi 7 septembre 2005 à 14:13:39 | [C] Pointeur int comme paramètre dans une function qui ne marche pas

nitrique

Bonjour à tous,

J'ai retourné les pointeurs dans tous les sens mais rien n'y fait.
J'aimerais modifier la valeur d'une variable int à l'interieur d'une fonction.
Selon tout ce que j'ai lu, ça devrait être ça:

void gererOuiNon(int* val) {
    if (*val==0) { // Non
       *val = 1;
    }
    if (*val==1) { // Oui
       *val = 0;
    }
   printf("%d",val); // Affiche un grand nombre (normal, c'est le pointeur)
   printf("%d",*val); // Affiche un grand nombre à la place de 0 ou 1
}

void main() {
   int entete = 0;
   ...
   gererOuiNon(& entete,11,4);
   ...
}

Comment ça marche ???

Merci d'avance.


David, à VERSAILLES
mercredi 7 septembre 2005 à 14:25:35 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

buno

Administrateur CodeS-SourceS
ta fonction attend une adresse de variable! Or toi, tu lui passe une constante :)

int truc=11;
...
gererOuiNon(&truc);

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 7 septembre 2005 à 14:28:53 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

nitrique

Heuuuu, en fait non, c'est une variable puisque je la change directement dans une autre fonction (en fait, c'est une variable globale).

Mais même dans ton cas, il devrais au moins rentrer dans le if, chose qu'il ne fait même pas.


David, à VERSAILLES
mercredi 7 septembre 2005 à 14:30:46 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

DeAtHCrAsH

Ca compile ca ?

La fonction gererOuiNon est declaré avec 1param et toi tu lui en passes 3.

Voici de quoi faire:

#include <stdio.h>

void gererOuiNon(int *a)
{
if( *a==0 )
{
*a=1;
}
else if( *a == 1 )
{
*a=0;
}

}


int main()
{
int entete = 0;

gererOuiNon(&entete);

printf("Voici le resultat : %d\n\n", entete);
return 0;
}


Sinon voile
mercredi 7 septembre 2005 à 14:34:06 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

nitrique

ui, j'ai recopié le code pour ne mettre que l'essentiel,
Excuse pour le mauvais recopiage... Embarassed

Voici le code corrigé:

int entete = 0; // Variable globale

void gererOuiNon(int* val) {
    if (*val==0) { // Non
       *val = 1;
    }
    if (*val==1) { // Oui
       *val = 0;
    }
   printf("%d",val); // Affiche un grand nombre (normal, c'est le pointeur)
   printf("%d",*val); // Affiche un grand nombre à la place de 0 ou 1
}

void main() {
   gererOuiNon(& entete);
   ...
}


David, à VERSAILLES
mercredi 7 septembre 2005 à 14:41:48 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

buno

Administrateur CodeS-SourceS
"La fonction gererOuiNon est declaré avec 1param et toi tu lui en passes 3."
--> Je n'avais même pas relevé :( je vais aller me prendre un café moi.

ça marche maintenant?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 7 septembre 2005 à 14:46:58 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

DeAtHCrAsH

Tu le fait exeuprès ou quoi ???

Tu mets if( *val == 0 ) donc la ca rentre dans ta condition
Après tu mets if( *val == 1 ) et la ca rentre aussi vu que précédement t'as modifier la valeur de val a 1.

Ecris donc :

if (*val==0)
{  // Non
   *val = 1;
}
else if (*val==1)
{ // Oui
  *val = 0;
}  

Shell
mercredi 7 septembre 2005 à 14:47:18 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

nitrique

Bin, nan, c'était une erreur de recopiage...


David, à VERSAILLES
mercredi 7 septembre 2005 à 15:01:17 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

DeAtHCrAsH

Prend mon code il marche très bien.
Si tu s'est pas recopier on est pas sorti de l'auberge.
mercredi 7 septembre 2005 à 15:04:11 | Re : [C] Pointeur int comme paramètre dans une function qui ne marche pas

buno

Administrateur CodeS-SourceS
Bah voilà! nitrique a fâché DeAtHCrAsH...
Toujours relire son code et le tester avant de le poster et de demander de l'aide

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

1 2

Cette discussion est classée dans : int, marche, paramètre, pointeur, val


Répondre à ce message

Sujets en rapport avec ce message

Pourquoi ca marche pas, c'est tout bete pourtant ! [ par Coyito ] SalutQuand je fais avec VC6:int *b;b= 7992060;(je veux que b pointe sur l'adresse mémoire 7992060)J'ai une erreur : error C2440: '=' : cannot convert je comprend plus rien(pointeur) [ par bidules ] Bonjour,Pour moi on utilise les pointeur pour creer des tableau dynamiquement.or j'ai reussi a en declarer un avec une taille entrer a l'aide d'une va conversion decimal en binaire sans connaitre la taille du nombre [ par kobee12 ] Est ce que quelqu'un pourrait m'aider. Voici un algo qui convertit un nombre biaire en decimal : bin_digits est defini avec une taille de 10. Or j'aim réception données d'un serveur [ par surfeurnet ] Voila j'ai crée un fonction qui se connecte à un serveur dont l'ip et le port sont précisés en argument, mais je ne reçoit pas ou je n'arrive pas à li Couleur, sconio econio...marche po :( [ par starkrous ] #include #include int main(){textcolor( GREEN ); cout textcolor( WHITE );return 0;}>>resultat>> "fin de fichier inatendu lors de la recherche d'u Mon code ne marche pô ! [ par xavier59 ] Mon code ne marche pas !Merci de m'aider !!!**************************************************# include # include int main(){ int tab[5]; int i; int t POINTEUR aye aye aye [ par djkill55 ] quelqun peut m expliquer pk ce programe ne marche pa svp...???le but c de remplir une matrice [3][3]a l aide des pointeur, la fct initializ est celle pointeur de fonction [ par Larwin ] salut tout le mondebon j'suis un gros débutant c/c++ et je fais mes premiers pas depuis 2, 3 jours...j'ai deja un petit probleme :)je m'explique :j'ai Les pointeurs sont-ils si avantageux côté performance ? [ par ZackyBambou ] ZackrBambou Voici je débute en c++ puisque je cherchais un langange pouvant optimiser la rapidité de mes programme par la mémoire et les calcul au cpu Pointeur vers une fonction dans une classe ... [ par MoDDiB ] Supposons que j'ai la fonctionvoid Fonction(int test,int t);appartenant a la classe Cclass.Quelle est la syntaxe pour creer un pointeur vers cette fon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales