This function is perfectly fine in C
Java requires that the conditional in the while loop be converted to a boolean expression.
Java:
class Main {
public static void main(String [] args) {
System.out.println(func (5));
}
static int func (int num) {
int count = 0;
while (num>0) {
count++;
num >>= 1;
System.out.println(num);
}
return (count);
}
}
output: 2 1 0 3
C version:
#include <stdio.h>
int func (int num) {
int count = 0;
while (num) {
count++;
num >>= 1;
printf("%d\n", num);
}
return (count);
}
int main()
{
printf("%d\n", func(5));
return 0;
}
output: 2 1 0 3