以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  一个奇怪的c 语言问题!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=53535)


--  作者:帅克
--  发布时间:10/9/2007 2:16:00 PM

--  一个奇怪的c 语言问题!
int CS_startpic_pic()/*start flashpic*/
{


 int i,key=0;
 int x=0;
 int key2=59;
 char wc[30]="W E L C O M E";
 
 


 i=0;
 
 while(key==0)
 {


 moveto(555,75);
 settextjustify(1,1);
 
 setcolor(i+1);
 outtext(wc);
 setcolor(15);

 i=i+1;
 
 if(i==13)i=0;
 
 
  key=KEY_mune_choice(7,key2,10,485,140,485,140,140,36);//这句是菜单选择 的图形函数,返回的key值 只是下面switch的 值
 
 

  
 

 
 
  
  switch(key)/*menu choice*/
  {
   case 59:sarch_startpic();return;break;
   case 60:arrange();break;
   case 61:statistic();break;
   case 62:allotment();break;
   case 63:administer_(); printf("%d",x);/*1111*/)break;//注意administer_() 函数可以运行并实现功能
   case 64:print();break;
   case 65:exit_mune();x=1;break;
    default:break;
    
  }
 
 key2=key;
 
  
 
 }
 printf("%d",x)/*2222*/
 getch();
 return (x);
 
 
}

CS_startpic()
{
int zz=0;
 
 

 
  while(zz!=1)
 {
  

  cleardevice();
 
  CS_startpic_black();


  CS_startpic_line();
  CS_startpic_word();
 
  zz=CS_startpic_pic();      //注意此地方
  printf("xxxx");/*333333*/
 getch();
 
  
  
  
  

  

 }
}


1111和2222 标记的printf 随便去掉一个printf打印出来的x就不为0;是17999

可以打印 222 和1111标记的x  但 无法打印出来 3333 标记的 printf(“xxxxx”);


在dos下会打印出来 abnormal program termination NULL pointor assignment。然后强制推出 程序。
在switch 中如果执行别的函数 除administer_();  程序可以正常循环。

[此贴子已经被作者于2007-10-9 17:17:22编辑过]

--  作者:卷积内核
--  发布时间:10/9/2007 4:31:00 PM

--  
程序不全,调试不通过。
--  作者:帅克
--  发布时间:10/9/2007 5:07:00 PM

--  
这只是程序的 一部分,总共有4000行左右 我传上来了。
--  作者:帅克
--  发布时间:10/9/2007 5:09:00 PM

--  
貌似我还没权限 上传
--  作者:帅克
--  发布时间:10/9/2007 5:21:00 PM

--  
紧急求救啊,我正在做 课程设计,这个问题我之前从未遇见过,一点下手的 地方都找不到,

不过根据 第二个printf可以打印,第三个却不行来看,是在 return 那句出了问题,不过我从没见过这个问题,如果哪个 大哥见过,也可以把你见过的 现象告诉我下,或是有高人指点下 可能是哪里的问题。


--  作者:一分之千
--  发布时间:10/10/2007 7:36:00 PM

--  
没法调试啊,自己step by step看看 你出错的信息就是出现了空指针,看看什么地方使用指针变量什么的错误~~~
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
60.547ms