链表的建立与使用 在win上运行正常 ubuntu 就有问题

周耀1994 发布于 2013/05/10 11:01
阅读 113
收藏 0

链表的建立和使用貌似  gcc不能识别 p1=(struct student *)malloc(LEN);  

求大神指教


#include<stdio.h>

#include<stdlib.h>
#define LEN sizeof(struct student);
struct student
{
    long num;
    float score;
    struct student *next;
};
int n;
struct student * creat(void)
{
    struct student *head;
    struct student *p1,*p2;
    n=0;
    p1=(struct student *)malloc(LEN);    //这段在linux下不能识别???
        p2=p1;
    scanf("%ld.%f",&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%f",&p1->num,&p1->score);
    }
    p2->next=NULL;
    return(head);
}
int main()
{
    struct student*pt;
    pt=creat();
    printf("\nmunber:%ld:%5.1f\n",pt->num,pt->score);
    return 0;
}
加载中
0
Rifle
Rifle

大哥,这里多分号了,会有语法错误提示的

#define LEN sizeof(struct student)

0
周耀1994
周耀1994
谢谢大师!!~~~~
0
周耀1994
周耀1994

引用来自“Rifle”的答案

大哥,这里多分号了,会有语法错误提示的

#define LEN sizeof(struct student)

#define ** **  后面不用加;  因为它不是c语言的语句  是预处理命令~~~~
返回顶部
顶部