How to make a function factory in C

1 Answer

0 votes
#include <stdio.h>

#define FUNCTION(name, a) int f_##name(int x) { return (a) * x; }
 
FUNCTION(quadruple, 4)
FUNCTION(double, 2)

int main(void)
{
    printf("quadruple(15) = %d\n", f_quadruple(15));
    
    printf("double(80) = %d\n", f_double(80));
    
    return 0;
}
 
 
 
/*
run:
 
quadruple(15) = 60
double(80) = 160
 
*/

 



answered Mar 7, 2024 by avibootz

Related questions

1 answer 173 views
1 answer 165 views
1 answer 199 views
1 answer 264 views
1 answer 116 views
...