KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I got the following question in an interview: "Write a C function that round up a number to next power of 2." I wrote the following answer: #include <stdio.h> int next_pwr_of_2(int num) { int tmp; do { num++; tmp=num-1; } while (tmp & num != 0); return num; } void main() { int num=9; int next_pwr; next_pwr=next_pwr_of_2(num); printf(" %d \n",next_pwr); } The question is: why does the program go out of its do-while loop when getting to the values 11 and 10?
Tags (comma-separated)
Save Edits
Cancel