答案必然是B。while与do……while的区别体现在判断条件在第一次判断时就为"0"(假)的情况,若第一次判断不为"0"(假),则这两者完全一样。举例如下:
while(0)
{printf("执行循环体。");
}
do
{printf("执行循环体");
}while(0);
前者先判断一次条件是否满足,不满足所以不执行下面的循环体,循环体没有被执行;
后者先执行一次循环体,再判断条件是否满足,不满足所以不再执行循环体,循环体执行了一次。
这种区别只有在条件在第一次判断就为"0"(假)时才体现出来,若第一次条件判断为非"0"(真),则没有这种区别。
因此答案必然是B。