• Viernes 8 de Noviembre de 2024, 23:00

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Game_Over

Páginas: [1]
1
C/C++ / Duda Sobre Uso De If En Macros #define
« en: Domingo 13 de Mayo de 2007, 17:12 »
Llevo un par de dias desde que empeze con C y por ahora he visto muy poco , una de las cosas que mas me han llamado la atencion ha sido la clausula #define y la posibilidad de hacer macros con ella , bien la duda es la siguiente:

la macro es muy simple , de esta manera si funciona :

Código: Text
  1.  
  2. #include <stdio.h>
  3.  
  4. #define suma(a,b) (a>b)? a+b : a
  5.                
  6. int main(void){
  7.     int x1=10&#59;
  8.     int x2=5&#59;
  9.     printf("La suma de %d + %d es igual a %d" ,x1,x2,suma(x1,x2));
  10.    
  11.     }
  12.  
  13.  

pero al poner el if de esta otra forma no me sale bien , me da error al compilar :

Código: Text
  1.  
  2. #include <stdio.h>
  3.  
  4. #define suma(a,b)      \
  5. if(a>b) {              \
  6.  a+b;                  \
  7. else                   \
  8.   a&#59;                  \
  9. }                        
  10.      
  11.                
  12. int main(void){
  13.     int x1=10&#59;
  14.     int x2=5&#59;
  15.     printf("La suma de %d + %d es igual a %d" ,x1,x2,suma(x1,x2));
  16.    
  17.     }
  18.  
  19.  

que es lo que estoy haciendo mal en la segunda forma ?   ,despues de cada simbolo de \ le doy a intro para que sepa el compilador que sigue en la siguiente linea.

Por cierto felicidades por la pagina , llegue buscando a traves de google y esta muy bien , hay mucha informacion . Saludos.

Páginas: [1]