0
Tell me the output of the following code with explanation
(skipping necessary parts like #include etc.) int a=10,b=3,c; c=(float)a/b; coutăc;
3 Answers
+ 1
It will devide 10 by 3 .
+ 1
First you are creating three variables(a, b ,c) of type int, and assigning 10 and 3 to them respectively. Note that you are not initializing c to any value. This is not bad when you are assigning a value to it later on, before using it.
As of the second statement, first the right hand side (rhs) of the statement is evaluated:
a is casted into a float, and that float value is divided by b, so 10.0f / 3, which evaluates to 3.333....
This rhs value is then assigned to c, but note that c is an int so it is going to be the truncated version of the rhs expression (a truncated number is a decimal number without the decimal part), which is 3, so the value of c is 3 now.
The last statement outputs the value of c (3) into the output(most of the times the terminal).
0
It will simply divide 10 by 3 and print c i.e 3.3. But its better to assign a,b,c as float directly than assigning it as int and then as float.
GoodLuck