下列代码,循环了多少次()
int k = 2000;
while (k > 1) {
k = k >> 1;
}
#include <stdio.h>
int main(int argc, char const *argv[])
{
int k = 2000;
int i=0;
while(k>1)
{
i++;
k = k >> 1;
printf("i = %d k = %d\n",i,k);
}
printf("%d\n",i);
return 0;
}
初始时 k 的值为 2000,然后通过右移操作使 k 不断减半,直到 k 的值小于或等于 1 为止。让我们来逐步观察 k 的变化: