Debugging using pre-processing directives
#include <stdio.h>
#include <stdlib.h>
#define test
#define testf
int sum(int, int);
int product(int, int);
int difference(int, int);
int main()
{
int i = 0;
int j = 0;
int a = 10, b = 5;
int result = 0;
int (*pfun[3])(int, int);
pfun[0] = sum;
pfun[1] = product;
pfun[2] = difference;
for(i = 0 ; i < 3 ; i++)
{
j = i;
#ifdef test
printf("\nRandom number = %d", j );
#endif
result = pfun[j](a , b);
printf("\nresult = %d", result );
}
result = pfun[1](pfun[0](a , b), pfun[2](a , b));
printf("\n\nThe product of the sum and the difference = %d\n", result);
}
int sum(int x, int y){
#ifdef testf
printf("\nFunction sum called.");
#endif
return x + y;
}
int product( int x, int y ){
#ifdef testf
printf("\nFunction product called.");
#endif
return x * y;
}
int difference(int x, int y){
#ifdef testf
printf("\nFunction difference called.");
#endif
return x - y;
}
Related examples in the same category