执行以下程序段后,输出结果第一行为1,第二行为80。#includestruct student{int num;int score;}stu1;int main(){struct student *p;p=&stu1;p->num=1;p->score=80;printf("%d\n",stu1.num);printf("%d\n",stu1.score);return 0;}
执行以下程序后,如果输入2 王明 80,则输出结果第一行为,第二行为,第三行为。#includestruct student{int num;char name[20];int score;}stu1;int main(){struct student *p;p=&stu1;scanf("%d%s%d",&p->num,p->name,&p->score);printf("%d\n%s\n%d\n",stu1.num,stu1.name,stu1.score);return 0;}
补充以下程序,使得程序实现对结构体数组进行数据输入及输出。#includestruct student{int num;char name[20];int score;};int main(){struct student stu[5],*p;p=;int i;for(i=0;i<5;i++){scanf("%d%s%d",&p->num,,);p++;}p=stu;for(i=0;i<5;i++){printf("%d %s %d\n",,p->name,);p++;}return 0;}
补充以下函数,使得函数实现单向链表动态建立的功能。结点结构体定义:struct node//结点结构体{int num;struct node *next;};struct node * createL(struct node * head)//单向链表建立{struct node *pEnd,*pNew;pNew= (struct node *)malloc(sizeof());//动态生成一个结点head=pNew;//头指针指向第一个节点pEnd=pNew; //当前链表尾结点指针也指向第一个结点scanf("%d ",&pNew->num);//输入结点数据while( pNew->num!=0)//结点数据不为0,继续增加新结点{pNew->next=NULL;//设置新节点的指针为空pEnd->next=;//当前链表的尾结点指针指向新结点;pEnd=pNew;//pEnd指向当前新节点pNew= (struct node *)malloc(sizeof(struct node)); //继续申请新结点内存空间scanf("%d",&pNew->num); //输入结点数据}free();//释放没有用到的结点空间return head;}