Ejercicios 1

Ejercicio 1.1

Considere el siguiente fragmento de código:

if ( a != b )
 if ( a < b )
 sentencia;
 else
 sentencia;
Determinar por experimentación a cual de las dos sentencias if corresponde la sentencia else.

Ejercicio 1.2

En C es posible definir macros con argumentos, como en el siguiente ejemplo:
#define max(A,B) ( (A) > (B) ? (A) : (B) )
  1. ¿Qué hace este macro? Escribir un pequeño programa de prueba para verificar el funcionamiento. Considere ejecutar solamente el preprocesador, tal cual fuera realizado en una parte del laboratorio 1.
  2. ¿Cuáles son las ventajas y desventajas de usar un macro si compara con la función maximo escrita en el laboratorio?
  3. Pensar y luego verficar si el funcionamiento es el esperado al usarlo de la siguiente manera:
c = max(a++,b++);

Ahora considere el siguiente macro:

#define square(x) x * x 
  1. ¿Qué sucede si escribimos square(x+1)?
  2. Escribir la definición correcta del macro.
Última modificación: miércoles, 4 de marzo de 2009, 14:28