标题:scanf函数的问题
取消只看楼主
s1y2z3
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-29
 问题点数:0 回复次数:2 
scanf函数的问题
#include "stdio.h"
#include "malloc.h"
#define NULL 0
#define Len sizeof(struct student)
struct student
{long num;
 float score;
 struct student *next;
};
int n;
struct student *creat(void)
{struct student *p1,*p2,*head;
    n=0;    
p1=p2=(struct student *)malloc(Len);
scanf("%ld,%f",&p1->num,&p1->score);//scanf 得到的值只赋给p1->num,什么原因?
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,%f",&p1->num,&p1->score);
}
p2->next=NULL;
return(head);
}
void print(struct student *head)
{   struct student *p;
    p=head;
    if(head!=NULL)
    do
    {printf("a=%ld,b=%f",p->num,p->score);
    p=p->next;
    }while(p!=NULL);
    }
main()
{struct student *a;
 a=creat();
 print(a);
    }
搜索更多相关主题的帖子: scanf 
2008-11-30 16:02
s1y2z3
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-29
得分:0 
输入
见图片

未命名.JPG (17.16 KB)
2008-11-30 16:06
s1y2z3
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-11-29
得分:0 
thanks
2008-11-30 21:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-247049-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.673831 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved