请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
#define N 5
typedef struct node {
int data;
struct node *next;
} NODE;
void fun(NODE *h)
{NODE *p, *q, *r;
/**********found**********/
p = h->__1__;
/**********found**********/
if (p==__2__) return;
q = p->next;
p->next = NULL;
while (q)
{r = q->next; q->next = p;
/**********found**********/
p = q; q = __3__;
}
h->next = p;
}
NODE *creatlist(int a[])
{NODE *h,*p,*q; int i;
h = (NODE *)malloc(sizeof(NODE));
h->next = NULL;
for(i=0; i {q=(NODE *)malloc(sizeof(NODE)); q->data=a[i]; q->next = NULL; if (h->next == NULL) h->next = p = q; else {p->next = q; p = q;} } return h; } void outlist(NODE *h) {NODE *p; p = h->next; if (p==NULL) printf("The list is NULL!/n"); else {printf("/nHead "); do {printf("->%d", p->data); p=p->next;} while(p!=NULL); printf("->End/n"); } } main() {NODE *head; int a[N]={2,4,6,8,10}; head=creatlist(a); printf("/nThe original list:/n"); outlist(head); fun(head); printf("/nThe list after inverting :/n"); outlist(head); } 解题答案: /**********第一空**********/ p = h->next; /**********第二空**********/ if (p==0) return; /**********第三空**********/ p = q; q = r; ******************************************
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。