#include <stdio.h>
#define f(n) (2-(1/n))
int main() {
printf("when n =2, %.2f\n", f(2));
return 0;
}
Answer is 0.00.Why the output isn't 1.50
#include <stdio.h>
#define f(n) (2-(1/n))
int main() {
printf("when n =2, %.2f\n", f(2));
return 0;
}
Answer is 0.00.Why the output isn't 1.50
Since f(n) is a macro. You must write the argument as a float or a double.
#include <stdio.h>
#define f(n) (2-(1/(n)))
int main()
{
printf("when n =2, %.2f\n", f(2.0));
return 0;
}
Or make the macro work with floats or doubles.
#include <stdio.h>
#define f(n) (2.0-(1.0/(n)))
int main()
{
printf("when n =2, %.2f\n", f(2));
return 0;
}