Probleme sur les Prointeur en C.

Ahcène78 Messages postés 4 Statut Membre -  
mype Messages postés 2449 Statut Membre -
bonsoir, et merci pour votre aide .

je suis débutant en C, je voudrais avoir un explication sur le résultat d'un mini programme.

#include <stdio.h>
#include <stdlib.h>

void f(int *a,int b)
{

b=b+1;
*a=2;
}

int main()
{
int a,b;
a=1;
b=4;
f(&a,b);

printf("%d %d \n",a,b);
return 0;
}

résultat a=2, b=4
pourquoi vaut a=2 et non 1?
merci pour votre aide

1 réponse

mype Messages postés 2449 Statut Membre 437
 
c'est pour te montrer comment modifier une valeur dans une fonction avec les pointeurs

la tu passe a la fonction l'adresse de a et grace au pointeur tu pourra modifier la valeur qui se trouve a cet adresse si tu n'utilise pas l'adresse et le pointeur la valeur sera modifié dans ta fonction mais pas dans le main d'ailleur tu vois que la valeur de b n'est pas modifié dans le main alors que dans ta fonction tu as b=b+1
0
Ahcène78 Messages postés 4 Statut Membre
 
bonsoir,
merci pour ta réponse. j'ai pas fait attention au &a. c est tellement évident !!
merci bcp
0
Ahcène78
 
bonsoir,
merci pour ta réponse. j'ai pas fait attention au &a. c est tellement évident !!
merci bcp
0
mype Messages postés 2449 Statut Membre 437 > Ahcène78
 
de rien n'oublie aps de mettre en resolu ;)
0