Différent type de fonction

Résolu/Fermé
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 - 7 févr. 2008 à 09:45
 Utilisateur anonyme - 7 févr. 2008 à 10:29
Bonjour à toutes et à tous :)

je suis occupé de voir les fonctions au cours et je ne comprend pas certains types... :-°

J'ai repris quelque ligne d'un code pour que de la mesure du possible quelqu'un puisse m'expliquer ce que j'ai pas compris... ;)
Evidemment ce que ne fonctionne pas j'ai repris que quelque ligne comme ça... :)

#include <stdio.h>
#include <stdlib.h>
int sommeXnr(int sXNR)
{
int somS, iSN;
somSn=0;
for ((iSN=sXNR; iSN>0; iSN--)
{
somSN=somSN+iSN;
}
return somSN
}
void permutVG()
{
int vL;
vL=x;
x=y;
y=vL;
return;
}
void permutP(int *xP, int *xY))
{
int vL;
vL=*xP;
*xP=*xY;
*xY=vL;
return;
}
int main(int argc, char *argv[])
{
    
case 2 :
     {
     printf("introduisez un nombre");
     scanf("%d", &x);
     y=sommeXnr(x);
     printf("la somme des %d premeiers entiers est %d\n", x,y);
     break;
     }
     
case 3 :
     {
     x=10;
     y=20;
     printf("\n x=%d y=%d \n",x,y);
     permutVG()
     printf("\n x=%d y=%d \n", x,y);
     break;
     }
     
case 4 :
     {
     x=10;
     y=20;
     printf("\n x=%d y=%d \n",x,y);
     permutP(&x,&y)
     printf("\n x=%d y=%d \n", x,y);
     break;
     }
system("PAUSE");
return 0;
}


voilà, admettons qu'in utilise toujours x=10 et y=20...
Pour la case 2, y=55? Si oui c'est que j'ai compris que somSN est retourné dans sommeXnr et que celui la vaut y...;
J'espère que je suis clair :euh:

Pour ce qui est de la case 3 et 4, toujours si j'ai bien compris, la fonction permutVG ne retourne rien donc lors du deuxième printf rien à changé... o_O

Mais pour la case 4 c'est le flou total... Je sais que c'est des pointeurs mais c'est tout.... :-°

Merci d'avance pour votre aide

1 réponse

Utilisateur anonyme
7 févr. 2008 à 10:29
void permutVG()
{
int vL;
vL=x;
x=y;
y=vL;
return; // pas de return, tu as void ... et c est valable pour void permutP(int *xP, int *xY)) aussi .
}


sa ne marche pas xd
tes x et y ne sont pas declarés ...

s il sont desclaré dans le .h :

pour la case 2,(avec x = 20) y = !20, soit 210. et x sera 20 .. en fait ta fonction fait !x.

pour la case 3 , sa permutte x et y

pour la case 4, sa permute aussi x et y.
1