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 181 views
1 answer 170 views
1 answer 201 views
1 answer 267 views
1 answer 119 views
...