ISRO | CS ISRO 2015 | Pregunta 75

Considere las siguientes afirmaciones

#define hypotenuse (a, b) sqrt (a*a+b*b); 

La macro llamada hipotenusa(a+2,b+3);
(A) Encuentra la hipotenusa de un triángulo con lados a+2 y b+3
(B) Encuentra la raíz cuadrada de (a+2) 2 y (b+3) 2
(C) No es válido
(D) Encuentra el cuadrado raíz de 3*a + 4*b + 5

Respuesta: (D)
Explicación:

A macro is defined with, hypotenuse (a, b) sqrt (a*a+b*b);
call hypotenuse(a+2,b+3);
hypotenuse = sqrt (a+2*a+2 + b+3*b+3)
           = sqrt (a + 2a + 2 + b + 3b + 3)
           = sqrt (3a + 4b + 5)

Entonces, la opción (D) es correcta.

Nota: la forma correcta de definir esta macro es:

#include <stdio.h>
#include <math.h>
  
//space is not allowed before bracket
#define hypotenuse(a, b) sqrt(a*a+b*b)
int main()
{
    //assume a = 1, b = 2
    printf("%f", hypotenuse (1+2, 2+3));
      
    //output should be 4.000000 
    return 0;
}

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 *