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; }
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