CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

程序不听话!

楼主yff(肉丝)2000-12-15 10:35:00 在 C/C++ / C语言 提问

我用来判断结束的NULL不管用!请帮助!  
   
  程序如下:  
   
  #include   <stdio.h>  
  #define   NULL   0  
  struct   datalink   {  
  char   data[6];  
  struct   datalink   *next;  
  };  
  main()  
  {  
  struct   datalink   *head,*comphfcode();  
  int   total,*intp;  
  total=0;  
  intp=&total;  
  head=comphfcode(intp);  
  listdata(head,intp);  
  }  
   
  struct   datalink   *comphfcode(intp)  
  int   *intp;  
  {  
  char   *endcode="#";  
  struct   datalink   *p1,*p2,*p3;  
  p1=(struct   datalink   *)malloc(sizeof(sizeof(struct   datalink)));  
  strcpy(p1->data,"");  
  p1->next=NULL;  
  p3=p1;  
  while   (1)   {  
  printf("请输入前缀码(不超过四位,以#号结束输入):");  
  p2=(struct   datalink   *)malloc(sizeof(sizeof(struct   datalink)));  
  scanf("%s",p2->data);  
  if   (strcmp(endcode,p2->data)==0)   break;  
  p2->next=NULL;  
  p3->next=p2;  
  p3=p2;  
  *intp=*intp+1;  
  }  
  if   (p3->next==NULL)   printf("this   is   true");  
  return   (p1);  
  }  
   
  listdata(head,intp)  
  struct   datalink   *head;  
  int   *intp;  
  {  
  int   i;  
  struct   datalink   *p1;  
  p1=head;  
  p1=p1->next;  
  /* for   (i=0;i<*intp;i++)  
  {  
    printf("%s\n",p1->data);  
    p1=p1->next;  
  }*/  
   
  while   (p1->next   !=   NULL)   {  
  printf("%s\n",p1->data);  
  p1=p1->next;  
  }  
   
   
  } 问题点数:50、回复次数:1Top

1 楼squiffy(歪歪)回复于 2000-12-15 11:05:00 得分 50

程序好多地方不好,  
  p2=(struct   datalink   *)malloc(sizeof(sizeof(struct   datalink)));  
  scanf("%s",p2->data);,  
  为什么用sizeof(sizeof(struct   datalink))?,  
  应该是p2   =   malloc(sizeof(struct   datalink);我觉得你的malloc用法很奇怪,我从来没有见过用sizeof(sizeof(struct   datalink))?  
  就是二维的指针,也应该是sizeof(struct   XXX   *);  
   
   
  main里面最开始malloc也不对,我觉得这个程序得非法操作才正常。  
   
  strcpy(p1->data,"");  
  p1->next=NULL;  
  一般都使用:memset(p1,0,sizeof(struct   datalink)   );  
  Top

相关问题

  • 猫儿猫儿不听话
  • 为什么datetimepicke不听话?
  • 我的游标不听话!!!!
  • 我这个LoadCursor为何不听话
  • 我的鼠标不听话怎办?
  • 想控制,好难!--不听话的输入法!
  • 我的cursor不听话,大家帮我教教它。
  • 各位大虾,快救救我吧!我的WIN2000不听话了!
  • 我家弟弟runmin老是不听话怎么办
  • 突然鼠标不听话,乱动是什么病毒?

关键词

  • null
  • intp
  • struct datalink
  • comphfcode
  • 程序
  • sizeof
  • malloc
  • next
  • head
  • total

得分解答快速导航

  • 帖主:yff
  • squiffy

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo