102 votes

Le rôle de #ifdef et #ifndef

#define one 0
#ifdef one
printf("one is defined ");
#ifndef one
printf("one is not defined ");

Dans ce contexte, quel est le rôle de #ifdef et de #ifndef, et quel est le résultat ?

0voto

Rodders Points 19

"#if one" signifie que si "#define one" a été écrit "#if one" est exécuté autrement "#ifndef one" est exécuté.

Il ne s'agit que de l'équivalent de la directive du préprocesseur C (CPP) des instructions de la succursale if, alors, else dans le langage C.

i.e. si {#define one} alors printf("on évalue à une vérité ") ; sinon printf("on n'est pas défini ") ; donc s'il n'y avait pas #define une instruction alors l'autre branche de l'instruction serait exécutée.

-2voto

hwx Points 43

Le code semble étrange parce que le printf ne se trouve dans aucun bloc de fonction.

Prograide.com

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.

Powered by:

X