| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1032 人关注过本帖
标题:为什么输出时多个0
取消只看楼主 加入收藏
黄色海岸2009
Rank: 1
等 级:新手上路
帖 子:38
专家分:2
注 册:2009-11-7
结帖率:87.5%
收藏
 问题点数:0 回复次数:5 
为什么输出时多个0
我建了一个空链表
int creat (*Node temp)
{
 head=(Node *)malloc(sizeof(Node));
 if(!head)
 {"malloc head NULL"}
 head->next=NULL;
}
然后在链表中插入了几个数,
输出时总是多个零。
哪个高手知道这是怎么回事啊
搜索更多相关主题的帖子: 输出 
2009-11-08 21:22
黄色海岸2009
Rank: 1
等 级:新手上路
帖 子:38
专家分:2
注 册:2009-11-7
收藏
得分:0 
就没有人会么?????
2009-11-08 21:35
黄色海岸2009
Rank: 1
等 级:新手上路
帖 子:38
专家分:2
注 册:2009-11-7
收藏
得分:0 
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct node
{
  int data;
  struct node *link;
 }
int creat()
int insertElement(Node **head,int value);
int printlist(Node *temp);
Node *head;
int main(void)
{
 creat();
 printf("insert 34 %\n",insertElement(&head,34));
 printlist(head);
}
 int creat()
{
 head=(Node *)malloc(sizeof(Node));
 if(!head)
{
  printf("errer");
  exit(-2);
  
}
}
int insertElement(Node **head,int value)
{
 Node *p,*q;
 if(*head==NULL) {return(-2);}
 p=*head;
while(p->data!value&&p->link!=NULL))
{
 q=p;p=p->link;
 }
  if(value==p->data)
 {
  if(p=*head) *head=p->link;
  else q=->link=p->link;
}
 else value=-1;
 return(value);

}

麻烦大家看看
2009-11-08 22:25
黄色海岸2009
Rank: 1
等 级:新手上路
帖 子:38
专家分:2
注 册:2009-11-7
收藏
得分:0 
int insertElement(Node **head,int value)
{
 Node *p,*q;
 Node *new_node;
 p=*head;
 q=NULL;
 if(value<0){value=-4;}
else
{
 while(p!=NULL&&p->data>value)
{
 q=p;
 p=p->link;
}
new_node=(Node*)malloc(sizeof(Node));
if(!new_node)
{
 printf("malloc new_node error");
 exit(-2);
}
 if(p->data==value){value=-1;}
 else
{
 new_node->data==value;
 new_node->link=p;
 if(!q)
 {
  *head=new_node;
 }
 else
 {
  q->link=new_node;
}
}
}
return(value);
}

insert函数贴错了 是这个
2009-11-08 23:20
黄色海岸2009
Rank: 1
等 级:新手上路
帖 子:38
专家分:2
注 册:2009-11-7
收藏
得分:0 
没人会么
2009-11-09 00:13
黄色海岸2009
Rank: 1
等 级:新手上路
帖 子:38
专家分:2
注 册:2009-11-7
收藏
得分:0 
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct node
{
 int data;
 struct node *link;

} Node;
int  creat();
int  insertElement(Node **head,int value);
int  printlist(Node *temp);
int  getMinval(Node *temp);
int  getMaxval(Node *temp);
int  removeElement(Node **head,int value);
Node *head;

int main(void)
{
creat();
printf(" insert 47: %d\n ",insertElement(&head,47));
printf("insert :11 %d\n ",insertElement(&head,11));
printf("insert :23 %d\n ",insertElement(&head,23));
printf("insert :11 %d\n ",insertElement(&head,11));
printlist(head);
}
int creat()
{
 head=(Node *)malloc(sizeof(Node));
 if(!head)
 {
  printf("malloc head NULL");
  exit(-2);
  head->data=-1;
  head->link=NULL;
  }
 
}

int  insertElement(Node **head,int value)
{
 Node *p;
 Node *q;
 Node *new_node;
 p=*head;
 q=NULL;
 if(value<0) {value=-4;}
 else
 {
 if(head->link=NULL) {
 head->data=value;

 }
 else
 {
 while(p!=NULL&&p->data>value)
 {
  q=p;
  p=p->link;
 }
  new_node=(Node *)malloc(sizeof(Node));
  if(!new_node)
  {
   printf("malloc new_node error");
   exit(-2);

  }
 if(p->data==value){ value=-1; }
  else
  {
 new_node->data=value;
 new_node->link=p;

 if(!q)
  {
 *head=new_node;
  }
 else
 {
  q->link=new_node;
 
 }
 
 }
  }
}
 return(value) ;
 
}

这下代码应该是对的啦
我按照帅哥版主的方法做判断
也在代码上了
可是不能编译
不知道谁可以告诉我具体如何在插入函数中做判断
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
十分感谢啦
2009-11-09 05:02
快速回复:为什么输出时多个0
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015939 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved