GATE CSE
First time here? Checkout the FAQ!
x
+3 votes
38 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 | 38 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 Apr 2017
  1. akash.dinkar12

    3660 Points

  2. Divya Bharti

    2580 Points

  3. Deepthi_ts

    2040 Points

  4. rude

    1966 Points

  5. Tesla!

    1768 Points

  6. Debashish Deka

    1614 Points

  7. Shubham Sharma 2

    1610 Points

  8. Prashant.

    1492 Points

  9. Arjun

    1472 Points

  10. Arunav Khare

    1464 Points

Monthly Topper: Rs. 500 gift card

22,088 questions
28,063 answers
63,298 comments
24,173 users