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 May 2017
  1. akash.dinkar12

    3152 Points

  2. pawan kumarln

    1616 Points

  3. sh!va

    1580 Points

  4. Arjun

    1336 Points

  5. Devshree Dubey

    1230 Points

  6. Angkit

    1028 Points

  7. Debashish Deka

    1012 Points

  8. Bikram

    972 Points

  9. LeenSharma

    810 Points

  10. srestha

    662 Points

Monthly Topper: Rs. 500 gift card
Top Users 2017 May 22 - 28
  1. pawan kumarln

    242 Points

  2. Ahwan

    138 Points

  3. joshi_nitish

    112 Points

  4. jjayantamahata

    104 Points

  5. Arjun

    64 Points


22,725 questions
29,056 answers
65,053 comments
27,566 users