Curso de Programación en C/Prog132
< Curso de Programación en C
								Ir a la navegación
				Ir a la búsqueda
				Revisión del 18:02 15 nov 2012 de Rrc (discusión | contribuciones) (Página creada con '__NOTOC__ *  Macros con DEFINE **  Resultado **  Explicación  == Prog132 ==  <syntaxhighlight lang="c" line="GESHI_FANCY_LIN...')
Prog132
 1 #include <stdio.h>
 2 
 3 #define SQUARE(X) X*X
 4 #define CUADRADO(X) (X)*(X)
 5 #define CUAD(x)  ((x)*(x))
 6 #define PR(X)   printf("El resultado es %d.\n", X)
 7 
 8 int main(void)
 9 {
10   int x = 4;
11   int z;
12 
13   printf("x = %d\n", x);
14 
15   z = SQUARE(x);
16   printf("Evaluando SQUARE(x): ");
17   PR(z);
18 
19   z = SQUARE(2);
20   printf("Evaluando SQUARE(2): ");
21   PR(z);
22 
23   printf("Evaluando SQUARE(x+2): ");
24   PR(SQUARE(x+2));
25 
26   printf("Evaluando CUADRADO(x+2): ");
27   PR(CUADRADO(x+2));
28 
29   printf("Evaluando 100/SQUARE(2): ");
30   PR(100/SQUARE(2));
31 
32   printf("Evaluando 100/CUAD(2): ");
33   PR(100/CUAD(2));
34 
35   printf("Evaluando CUAD(x+2): ");
36   PR(CUAD(x+2));
37 
38   printf("x is %d.\n", x);
39   printf("Evaluando SQUARE(++x): ");
40 
41   PR(SQUARE(++x));
42   printf("Después de incrementar, x is %x.\n", x);
43 
44   x = 4;
45 
46   printf("x is %d.\n", x);
47   printf("Evaluando CUADRADO(++x): ");
48 
49   PR(CUADRADO(++x));
50   printf("Después de incrementar, x is %x.\n", x);
51 
52   x = 4;
53 
54   printf("x is %d.\n", x);
55   printf("Evaluando CUAD(++x): ");
56 
57   PR(CUAD(++x));
58   printf("Después de incrementar, x is %x.\n", x);
59 
60   return 0;
61 }
Resultado
[rrc@pwyr CClase]$ gcc -Wall -O2 -o Prog132 Prog132.c Prog132.c: In function ‘main’: Prog132.c:41:3: warning: operation on ‘x’ may be undefined [-Wsequence-point] Prog132.c:49:3: warning: operation on ‘x’ may be undefined [-Wsequence-point] Prog132.c:57:3: warning: operation on ‘x’ may be undefined [-Wsequence-point] [rrc@pwyr CClase]$ ./Prog132 x = 4 Evaluando SQUARE(x): El resultado es 16. Evaluando SQUARE(2): El resultado es 4. Evaluando SQUARE(x+2): El resultado es 14. Evaluando CUADRADO(x+2): El resultado es 36. Evaluando 100/SQUARE(2): El resultado es 100. Evaluando 100/CUAD(2): El resultado es 25. Evaluando CUAD(x+2): El resultado es 36. x is 4. Evaluando SQUARE(++x): El resultado es 36. Después de incrementar, x is 6. x is 4. Evaluando CUADRADO(++x): El resultado es 36. Después de incrementar, x is 6. x is 4. Evaluando CUAD(++x): El resultado es 36. Después de incrementar, x is 6. [rrc@pwyr CClase]$