admin 管理员组文章数量: 887639
2024年2月20日发(作者:wxpython怎么让文本实时显示)
#define NULL 0什么意思
2010-04-15 08:37提问者: wyy孳孳linda |浏览次数:1372次
#include
#include
#define NULL 0
typedefstruct node
{
int data;
struct node *next;
}linklist;
void input(linklist *L) /*输入函数*/
{
linklist *r,*p;
p=(linklist *)malloc(sizeof(node));
r=L;
printf("input nums(-1 to quit): ");
scanf("%d",&p->data);
while(p->data!=-1)
{
r->next=p;
r=p;
p=(linklist *)malloc(sizeof(node));
scanf("%d",&p->data);
}
r->next=NULL;
}
void mergelist(linklist *A,linklist *B,linklist *C)
{
linklist *p,*q,*r;
p=A->next; /*A的第一个节点*/
q=B->next;
r=A;
while(p && q)
{
if(p->data
{
r->next=p;
r=p;
p=p->next;
}
else if(p->data==q->data)
{
r->next=p;
r=p;
/*两单链表合并函数*/
p=p->next;
q=q->next;
}
else
{
r->next=q;
r=q;
q=q->next;
}
}
if(p)
r->next=p;
if(q)
r->next=q;
}
void output(linklist *L) /*输出函数*/
{
linklist *p;
p=L->next;
while(p)
{
printf("%2d",p->data);
p=p->next;
}
printf("n");
}
void main()
{
linklist *LA,*LB,*LC;
LA=(linklist *)malloc(sizeof(linklist));
LB=(linklist *)malloc(sizeof(linklist));
printf("对链表LA进行初始化!n");;
input(LA);
output(LA);
printf("对链表LB进行初始化!n");
input(LB);
output(LB);
LC=LA;
mergelist(LA,LB,LC);
printf("链表LA和LB合并后为: ");
output(LC);
}
我来帮他解答
满意回答
2010-04-15 10:30
#define 是宏定义语句,后面加NULL 0 表示把NULL定义成0,
实际上,在编译器工作时候,第一步就是对原文件进行预处理,
首先把#include的文件展开,然后把文件中所有用#define定义的宏用其值替换,对于你这个来说,就是在预处理的时候,把所有的NULL用0进行了替换
版权声明:本文标题:define NULL 0什么意思 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708427853h523884.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论