Débutant C : pourquoi ça marche pas ?

françois -  
nz_janvier Messages postés 146 Statut Membre -
Bonjour à tous,

je voudrais vous demander pourquoi mon programme C ne marche pas :

/* exercice 5 p 40 : multiplier 5 par 3, et afficher le résultat*/
#include <stdio.h>
int MyFunction (int x, int y)
{
x=3;
y=5;
int result;
result=x*y;
return result;
printf("3*5 font :", MyFunction);
return(0);
}

Merci

22 réponses

marvinrouge
 
quand on doit multiplier des nombres, on passe par des variables, c'est plus facile de modifier le porgramme par la suite

car si je veux multiplier 3 par 6 au lieu de 3 par 5 je dois modifier 2 lignes

on préfère donc écrire le prog suivant

#include <stdio.h>
int main(int argc, char** argv)
{

int nombre1 = 3;
int nombre2 = 5;
int result;
result= nombre1 * nombre2;
printf("%d * %d = %d",nombre1, nombre2, result);
return (0);
}
0
nz_janvier Messages postés 146 Statut Membre 17
 
Salut à tous,

excusez moi j'ai pris la discussion en retard
le programme initial est bien :

/* exercice 5 p 40 : multiplier 5 par 3, et afficher le résultat*/
#include <stdio.h>
int MyFunction (int x, int y)
{
x=3;
y=5;
int result;
result=x*y;
return result;
printf("3*5 font :", MyFunction);
return(0);
}

celà ressemble à une définition de fonction récursive
l'instruction printf("3*5 font :", MyFunction); contient un appel récursif qui a son toue génèrera un autre appel et ainsi de suite ...

donc il est probable que les appels soient sans arret !

deuxio la fonction attend 2 param x et y qui ne sont pas passé à l'appel !!!
0