下列代码,循环了多少次
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 的变化: