GATE CSE
First time here? Checkout the FAQ!
x
+3 votes
36 views

Cosider the code snippet

CODE 1

float a= 10.25;

if(a==10.25)
       ptint " A "
else 
   print "B"
print "C"


CODE 2

float a =10.25;
n=15.25;
while(n!=10.25)
{
    print "*";
    n--;
}
Number of times * printed ?

 

Please explain the output in both cases

asked in Programming by Loyal (2.6k points)  
edited by | 36 views

I have read somewhere floating point numbers should not be compared, because they are not exactly what they are looking, they give the result after rounding.

1 Answer

0 votes

Yes, your argument is quite ostensible.Though the output may vary with compilers.

For CODE1, OUTPUT = > AC

For CODE2, OUTPUT = > ***** (5 times)   (You havn't specified the data type of n , so I am assuming it to                                                                                be FLOAT) 

If you don't specify "10.25"  as "10.25f"  ,then the program will store it in "Double Precision Floating Point format " albeit the right hand side of the expression i.e. variable "a"  is declared as FLOAT (Single Precision Format )  due to which the program may give "an unexpected output"

answered by (305 points)  


Top Users Mar 2017
  1. rude

    4018 Points

  2. sh!va

    2994 Points

  3. Rahul Jain25

    2804 Points

  4. Kapil

    2608 Points

  5. Debashish Deka

    2104 Points

  6. 2018

    1414 Points

  7. Vignesh Sekar

    1336 Points

  8. Bikram

    1218 Points

  9. Akriti sood

    1186 Points

  10. Sanjay Sharma

    1016 Points

Monthly Topper: Rs. 500 gift card

21,446 questions
26,759 answers
60,943 comments
22,955 users