Cuestionario C – 110 | Pregunta 1

Supongamos que alguien escribe una macro de incremento (es decir, que incrementa el valor en uno) de las siguientes maneras:

#define INC1(a) ((a)+1)
  
#define INC2 (a) ((a)+1)
  
#define INC3( a ) (( a ) + 1)
  
#define INC4 ( a ) (( a ) + 1)

Elija la declaración correcta para las macros anteriores.
(A) Solo INC1 es correcto.
(B) Todos (es decir, INC1, INC2, INC3 e INC4) son correctos.
(C) Solo INC1 e INC3 son correctos.
(D) Solo INC1 e INC2 son correctos.

Respuesta: (C)
Explicación: En C, para las macros con argumentos, no puede haber ningún espacio entre el nombre de la macro y el paréntesis de apertura . Es por eso que solo INC1 e INC3 son correctos. Básicamente, «#define INC2 (a) ((a)+1)» da como resultado la expansión «INC2» a «(a) ((a)+1)», que no es la expansión deseada.
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 *