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 :
#include <stdio.h>
#define suma(a,b) (a>b)? a+b : a
int main(void){
int x1=10;
int x2=5;
printf("La suma de %d + %d es igual a %d" ,x1,x2,suma(x1,x2));
}
pero al poner el if de esta otra forma no me sale bien , me da error al compilar :
#include <stdio.h>
#define suma(a,b) \
if(a>b) { \
a+b; \
else \
a; \
}
int main(void){
int x1=10;
int x2=5;
printf("La suma de %d + %d es igual a %d" ,x1,x2,suma(x1,x2));
}
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.