麻烦各位高手帮我看看我的程序啊!!~谢谢
题目: 建立一个带头结点的线性链表,用以存放输入的二进制数,链表中每个结点的data域存放一个二进制位。在此链表上实现对二进制数加1的运算,并输出运算结果。我的编程:
#include <stdio.h>
typedef struct Lnode{
int data;
struct Lnode *next;
}Lnode,*LinkList;
InitList (Node *L)
{
L=(Linklist)malloc(sizeof(Node));
(*L)->next=NULL;
}
Void CreateFromHead(LinkList L)
{
Node *s;
int c;
int flag=1;
while(flag)
{
c=getchar;
if (c!=88)
{
if(c==0||C==1)
{
s=(Node *)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else
printf("数据输入错误,请重新输入");
}
else flag=0;
}
}
Void add(LinkList L)
{
Node *p;
int j=0;
for(;;)
{
j=p->data+1;
if (j==1)
p->data=1;
break;
else if(j==2)
p->data=0;
p=p->next;
}
}
Void out (LinkList L)
{
Node *p;
p=L->next;
while(p!=NULL)
{
printf("%f",p->data);
p=p->next;
}
}
Void main
{
InitList (Node *L);
Void CreateFromHead(LinkList L);
Void add(LinkList L);
Void out (LinkList L);
int c,s;
printf("1.初始化
2.add
3.输出结果
")
scanf("%d",&c);
switch(c)
{
case 1;Void CreateFromHead(LinkList L);break;
case 2;Void add(LinkList L);break;
case 3;Void out (LinkList L);break;
}
}
这里面有很多错误,弄了很久还是这样子
请各位高手帮忙改改!让它可以运行!!~顺便解释下那些错误!!~谢谢