Consider the following C code. Assume that unsigned long int
type length is 64 bits.
unsigned long int fun(unsigned long int n) {
unsigned long int i, j = 0, sum = 0;
for ( i = n; i > 1; i = i/2) j++;
for ( ; j > 1; j = j/2) sum++;
return sum;
}
|
The value returned when we call fun
with the input 240 is
(A) 4
(B) 5
(C) 6
(D) 40
Answer: (B)
Explanation:
unsigned long int fun(unsigned long int n) {
unsigned long int i, j = 0, sum = 0;
for ( i=n; i>1; i=i/2) j++;
for ( ; j>1; j=j/2) sum++;
return sum;
}
|
So, answer is 5.
Quiz of this Question