Hello fellas hope you all doing well i am kinda newbie in C language, I just need to ask a basic question that is that when i divide numbers in C like this:
#include<stdio.h>
main()
{
float a = 15/4;
printf("%.2f", a);
}
the division happens but the answer comes in a form like 3.00(which is not correct it did'nt count the remainders) But when i program it like this:
#include<stdio.h>
main()
{
float a = 15;
float b = 4;
float res = a/b;
printf("%.2f", res);
}
this method gives me the correct answer. So i want to ask the reason behind the difference b/w these two programs why doesn't the first method works and why the second method working?
In this expression
the both operands have integer types (more precisely the type
int). So the integer arithmetic is performed.If at least one operand had a floating point type (float or double) as for example
or
then the result will be a floating point number (in the first expression of the type
doubleand in the second expression of the typefloat)And in this expression
the both operands have floating point types (the type
float). So the result is also a floating point number.