注册 登录
编程论坛 C++教室

求教

不会游的鱼 发布于 2008-09-29 08:59, 448 次点击
帮忙看看这程序有 什么 问题
#include <stdio.h>
#include<malloc.h>
typedef struct node{char data;
                    struct node*link;
}NODE;
NODE*create_link_list(int n)
{int i;
NODE*head,*p,*q;
if(n==0)return (NULL);
head=(NODE*)malloc(sizeof(NODE));
p=head;
for (i=1;i<n;i++)
{scanf("%c",&(p->data));
q=(NODE*) malloc (sizeof(NODE));
p->link=q;
p=q;
}
scanf("%c",&(p->data));
p->link=NULL;
getchar();
return(head);
}
int main()
{int n,m=0;
NODE*head,*p,*q;
printf("please input n:\n");
scanf("%d", &n);
head=create_link_list(n);
if(head!=NULL)
{
p=head;
while(p->link!=NULL)
{
 m++;
 q=p->link;
 p->link=q->link;
}
printf("%d",m);
}
else(m==0);
 printf("%d",m);
return(1) ;
}
1 回复
#2
blueboy820062008-09-29 09:33
* if(n==0) return (NULL);//那n==1呢,还不是不能进行for循环...
* scanf("%c",&(p->data));//为什么要加& ?
* else(m==0);///语法问题,这个很严重...
* 程序缺少最基本的提示和注释,让人很难理解...
1