Cuestionario C – 110 | Pregunta 2

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *