Harold
Las funciones en línea copian la función en ese lugar en el momento de la compilación, pero las macros simplemente copian y pegan el código escrito, entenderá mejor con este ejemplo #define mul (a, b) a * b int main () {int c = sum ( 3 + 2,2); return 0; } su respuesta esperada será 10 pero el programa devuelve 7. Lo dejo para que averigüe por qué. Y sí, la función en línea le dará la respuesta correcta para esto.