C++问题,程序分析

#include<stdio.h>#include<malloc.h>#defineLENsizeof(structStudent)structStudent{intnu... # include <stdio.h># include <malloc.h># define LEN sizeof(struct Student)struct Student{int num;float score;struct Student *next;};int n;struct Student *creat(){struct Student *head;struct Student *p1,*p2;n=0;p1=p2=(struct Student *) malloc(LEN);scanf("%ld,%lf",&p1->num,&p1->score);head=NULL;while(p1->num!=0){n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct Student *)malloc(LEN);scanf("%ld,%lf",&p1->num,&p1->score);}p2->next=NULL;return(head);}
viod print(struct Student *head){struct Student *p;printf("\nNow,These %d records are:\n",n);p=head;if(head!=NULL)do{printf("%ld%5.1f\n",p->num,p->score);p=p->next;}while(p!=NULL);}
void main(){struct Student *pt;pt=creat();print(pt);}
请问哪里出错了;看了半天没看出为啥,,
展开
 我来答
沧海雄风2009
推荐于2016-09-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2864万
展开全部

清楚了我输入数字的时候中间有英文的逗号

 

很多人非常粗心 我让看我的 硬是对我输入时的逗号视而不见

 

睁着眼睛说不对

# include <stdio.h>

# include <malloc.h>

# define LEN sizeof(struct Student)

struct Student

{

 int num;

 float score;

 struct Student *next;

};

int n;

struct Student *creat()

{

 struct Student *head;

 struct Student *p1,*p2;

 n=0;

 p1=p2=(struct Student *) malloc(LEN);

 scanf("%d,%f",&p1->num,&p1->score);   //%d,%f

 head=NULL;

 while(p1->num!=0)

 {

  n=n+1;

  if(n==1)

   head=p1;

  else 

   p2->next=p1;

  p2=p1;

  p1=(struct Student *)malloc(LEN);

  scanf("%d,%f",&p1->num,&p1->score);  //%d,%f

 }

 p2->next=NULL;

 return(head);

}

void print(struct Student *head)    //void

{

 struct Student *p;

 printf("\nNow,These %d records are:\n",n);

 p=head;

 if(head!=NULL)

  do

  {

   printf("%d %5.1f\n",p->num,p->score);   //%d

   p=p->next;

  }

  while(p!=NULL);

}

 

void main()

{

 struct Student *pt;

 pt=creat();

 print(pt);

柴中仪Cj
2012-08-06
知道答主
回答量:12
采纳率:0%
帮助的人:4.4万
展开全部
bzud
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1cf58ab
2012-08-06 · TA获得超过343个赞
知道小有建树答主
回答量:276
采纳率:50%
帮助的人:368万
展开全部
viod print(struct Student *head)的 void 类型写错了,应该为

void print(struct Student *head)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0fdb17a
2012-08-06 · TA获得超过1711个赞
知道小有建树答主
回答量:2149
采纳率:0%
帮助的人:728万
展开全部
请问哪里出错了?看了半天没看出为啥- -,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式