Bonjour,
#define A 1+5
int a = A/A;
NSLog(@"value a %d",a);
il me montre que le résultat est 11
Pouvez-vous m'expliquer comment cela fonctionne ? Je veux comprendre les étapes que le compilateur effectue pour montrer ce résultat. Merci d'avance.
Bonjour,
#define A 1+5
int a = A/A;
NSLog(@"value a %d",a);
il me montre que le résultat est 11
Pouvez-vous m'expliquer comment cela fonctionne ? Je veux comprendre les étapes que le compilateur effectue pour montrer ce résultat. Merci d'avance.
int a = A/A
est transformé en int a = 1+5/1+5
c'est-à-dire 1 + 5 + 5
qui est de 11
peut-être que vous voudriez le faire #define A (1+5)
Les macros ne sont pas des fonctions. Elles ne calculent pas de valeurs et ne les insèrent pas dans le code. Une macro sera simplement développée comme elle est écrite.
Et en fait, ce n'est pas le compilateur qui développe les macros, c'est le préprocesseur.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.