有如下程序段:int i = 2; do{ i *=
有如下程序段:
int i = 2;
do{
i *= i;
cout<<'#';
if(i>1000)break;
}while(1) ;运行这个程序段时,输出字符‘#’的个数是( )。
答案
B
解析
程序执行过程如下:i*=i等价于i=i*i,第一次循环,i=4时,输出第一 个‘#’,此时 i不大于1000,循环继续,第二次循环,i=16时,输出第二 个‘#’,此时不大于1000,循环继续,第三次循环,i=256时,输出第三 个‘#’,此时不大于1000,循环继续,第四次循环, i=65536时,输出第 四个‘#’,此时i大于1000,循环停止,跳出循环,故输出四个‘#’。