trouver le minimum de deux nombres
yodark
Membre
Bonjour,
Petite question comment fait-on pour trouver le minimum entre deux nombres ?
Je sais qu'en java on fait Math.min(2,10) qui va nous retourner 2
Petite question comment fait-on pour trouver le minimum entre deux nombres ?
Je sais qu'en java on fait Math.min(2,10) qui va nous retourner 2
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Soit tu utilises la macro MIN(), soit, si tu préfères une fonction, il faut faire la fonction toi-même avec les paramètres du bon type.
Tu peux aussi renommer ton fichier en .mm (compilé en Objective-C++) pour accéder à la librarie C++ standard qui te propose std::min().
+
Chacha
j'ai tenté
Ca compile ! Ca devrait marcher juste en mettant la fonction en majuscule y a-t-il une contre partie?
Les Macros, ce sont des bestioles pas spécifiques à Objective-C mais au C tout court. Cela permet (entre autre) "singer" des fonctions pour le préprocesseur C. Mais il y a des effets de bords.
Voir cette discussion (que j'aurais dû pointer plus tôt :-) ) :
http://www.objective-cocoa.org/forum/index.php?topic=2709.0
+
Chacha
[size=12pt]Exemple de Code contenant des macros[/size]
extern int printf(char *,...);
#define MAX(a,b) ((a)>(b) ? (a) : (b))
#define ECRIRE(format,truc) printf(format,truc)
int main(void){
int x=5;
int y=10;
ECRIRE("%d\n",MAX(x,y));
return 0;
}
A la précompilation, les mots MAX et ECRIRE sont purement et simplement remplacés dans ton code suivant la règle posée dans le #define.
On peut ne faire exécuter que la précompilation à l'aide de l'option -E , et ainsi voir ce que devient un code contenant des macros avant d'être compilé.
[size=12pt]Précompilation[/size]
% gcc pgm.c -E
# 1 "pgm.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "pgm.c"
extern int printf(char *,...);
int main(void){
int x=5;
int y=10;
printf("%d\n",((x)>(y) ? (x) : (y)));
return 0;
}
Voici maintenant la compilation et l'exécution
[size=12pt]Compilation et Execution[/size]
% gcc pgm.c -o pgm
pg% pgm
10
% gcc pgm.c -o pgm
% pgm
10
%
Pour ce qui t'intéresses, les macros MIN et MAX sont déjà définies (par un #define) dans le fichier d'entêtes c.h, disponible automatiquement dans un projet XCode