论坛: 编程破解 标题: 这个程序在我机子上怎么会调试不成功啊~~~请指教 复制本贴地址    
作者: bailove [bailove]    论坛用户   登录
main()
 { void sort();
   int a[10],i,*p;
   p=a;
   printf("\ninput data:");
   for (i=0;i<10;i++)
     scanf("%d",&a[i]);
   printf("\nthe origina1 sequence:");
   for (p=a;p<a+10;p++)
     printf("%4d",*p);
   sort(a,10);
   printf("\nthe sorted sequence:");------》好象这个语句没有被执行,因为没有输出。
   for(p=a;p<a+10;p++)
     printf("%d",*p);
  }
  void sort(sp,n)
  int *sp,n;
  { int i,j,temp,f=0;
    int *low,*high,*mid;
    for(i=1; i<n; i++)
     { low=sp; temp=*(sp+i);
     high=sp+i-1;
     while(low<=high)
      { mid=low+(low-high)/2;――――――》这个语句改为mid=(low+high)/2不让通过是为什么啊
      if (temp<*mid)
      {f=1;
      high=mid-1;
      }
      else
low=mid+1;
     }
     if(f==1)
      { for (j=i-1; j>=low-sp; j--)
  *(sp+j+1)=*(sp+j);
  *low=temp; f=0;
  }
      }
     }

这个程序在我的机子上,没能起排序作用

地主 发表时间: 05/28 01:06

回复: hannyu [hannyu]   论坛用户   登录
恐怕只有你自己能看懂吧。
用数组就行了啊,这样用指针危险。真不知道两个地址相加后得到得是什么,再/2就更不得而知了。

B1层 发表时间: 05/29 11:36

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号