毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

为什么到了main函数调用时就不对了,运行出来的结果是错的 第2页

更新时间:2013-8-12:  来源:毕业论文
#include <stdio.h>
#include <malloc.h>
typedef struct node
{
int data;
struct node *next;
}  node;

node *CreateList(int n) 
{ node *head,*p,*s;
int i;
if( n <1 || n >10000)
return 0;

head =(node*)malloc(sizeof(node));
p = head;
for(i = 0; i < n-1; i++)
{   s=(node*)malloc(sizeof(node));
//     scanf("%d",&s->data);
p->next =s;
p = s;
}  p->next=NULL;
return head;
}

void searchmid(node *head,node **mid,node **mid1,node **mid2)
{  
int a;
node *p;
    node *q;
    p=head;
q=head;
a=0;
while(p->next!=0)

        if(p->next->next==0)
{  
            a=2;
*mid1=q;
*mid2=q->next;

break;


}

else
{
*mid=q->next;

}

p=p->next->next;
q=q->next;
 

}
if(a==2)
{
printf("%x %x\n",*mid1,*mid2);
}
else
{
        printf("abc%x\n",*mid);

}
  


}

void main()
{
node* list;
node* tempList;
node* mid;
node* mid1;
node* mid2;
int number;
int i;
number = 1;
//创建链表,把链条做好,把结构体,指针都定义好;
list = CreateList(number);
searchmid(list, &mid,&mid1,&mid2);

for ( i = 0; i < number; i++)
{
tempList = list;
list = list->next;
free(tempList);
}

return;
//找中间结点

//显示出来中间结点
}
这是进行修改后的程序,但就是number等于1时有问题,number为其他值都符合了。。忘记告诉你了,这个题目是一个长度不定的单链表只遍历一次求出其中间结点的位置

上一页  [1] [2] 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。