Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

value = 0xabcd;
for (loop = 1; (value >> 1) & 1 | loop & 1; loop++) {
foo();
if (loop & 1)
value >>= 1;
}

how many times is foo() executed?

Answer Posted / adam

It is 5, as stated... anybody can figure that out by just compiling the code. I
doubt that guy actually knows why.

This problem is heavy on bitwise operations, so you'll need to convert the
numbers into binary. The 0xABCD = 10, 11, 12, 13 = 1010 1011 1100
1101. Now make a table to hold the binary values of loop and value on each
iteration and walk through the code. Notice that "value" is shifted every other
iteration.

At the start of the 6th iteration, the value of "value" is 1010101111001 and
the "loop" is obviously 110. This makes the for-loop check:

((value >> 1) & 1) | (110 & 1)
(101010111100 & 1) | (110 & 1)
0 | 0
0

And it exits the loop at this point.

Is This Answer Correct ?    2 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

When should a far pointer be used?

1060


What is the correct declaration of main?

1154


Is there a built-in function in C that can be used for sorting data?

1180


Can a pointer point to null?

1022


Is main a keyword in c?

1083


What is the difference between volatile and const volatile?

936


When should a type cast be used?

965


write a c program to calculate sum of digits till it reduces to a single digit using recursion

3245


What are the 4 types of functions?

995


What is "Hungarian Notation"?

1033


What is boolean in c?

1033


Can you please explain the difference between exit() and _exit() function?

993


What is return type in c?

1075


How to draw the flowchart for structure programs?

9260


why wipro wase

2249