El siguiente programa no compilará porque hay espacio entre el nombre de la macro y el paréntesis de apertura.
#include "stdio.h" #define MYINC ( a ) ( ( a ) + 1 ) int main() { printf("GeeksQuiz!"); return 0; }
(A) VERDADERO
(B) FALSO
Respuesta: (B)
Explicación: tenga en cuenta que #define es una directiva de preprocesador, es decir, se procesa antes de que tenga lugar la compilación real. En el programa anterior, el fragmento MYINC no se usa en ninguna parte del programa. Entonces, aunque MYINC no realiza el comportamiento previsto, es decir, no incrementará a, pero MYINC es una macro válida. Si hubiéramos usado MYINC en cualquier parte del programa, habría sido reemplazado por “( a ) ( ( a ) + 1 )”. Entonces, el programa anterior se compilará y ejecutará sin ningún problema.
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA