问题 填空题

函数count(head)统计链表的结点个数,head为表头指针,阅读程序,要求将整个if语句改成while循环控制结构,其形式为 【9】
#include<stdio.h>
int count(NODE*head)
int n=0;
if(head!=NULL)
do
n++;
head=head->next;
while(head!=NULL);
return n;

答案

参考答案:while(p!=NULL){n++;head=head→ next;}

解析:[命题目的] 考查do…while和while循环的使用。
[解题要点] do…while循环转化为while循环,循环体执行的内容应该是一致的,不同的是do…while结构是先执行一次循环体,然后再判断循环条件是否满足,而while循环则是先判断循环条件是否满足,满足则执行循环体。所以do…while循环结构若想转换为while循环结构,必须在do…while循环之前先对循环条件进行一个判断,即此题中的if(head!=NULL)。
[考点链接] 3种循环结构的比较。

问答题
单项选择题