关于递归调用的指针参数问题
刚开始学习c编程,对照《啊哈!算法》写了一下快速排序的小程序,但是在递归调用的时候,codeblocks报错,没想明白,大家帮忙看看!
#include <stdio.h>
#define N 10
void quicksort(int left, int right, int *p);
int main(void)
{
int i;
int integer[N]={6,1,5,2,9,10,8,7,4,3};
quicksort(0,N-1,integer);
for(i=0;i<N;i++)
printf("%d ",integer[i]);
return 0;
}
void quicksort(int left, int right, int *p)
{
int i,j,t,temp;
temp=p[left];
i=left;
j=right;
while(i<j)
{
while(p[j]>=temp&&j>i)
j--;
while(p[i]<temp&&j>i)
i++;
if(i<j)
{
t=p[j];
p[j]=p[i];
p[i]=t;
}
}
if(i==j)
{
p[left]=p[i];
p[i]=temp;
}
quicksort(left,i-1,p); //单步调试时,在这里报错,不知道原因。
quicksort(i+1,right,p);
}
...全文
相关推荐
函数和指针,递归调用 1.不能死递归,都要有跳出条件,每次递归逼近跳出条件 2.递归层次不能太深 3.求n个斐波拉契数
函数指针
掌握C语言函数指针与递归技巧
本文深入解析了C语言中的函数指针和递归概念。函数指针允许将函数作为参数传递并动态调用,增加了代码的灵活性。递归则是函数定义中包含对自身的引用,适用于解决分而治之的问题。通过代码示例和应用场景,文章详细展示了如何利用这些特性来提升编程能力。
C语言函数的值调用、应用、指针、嵌套、递归
该文件主要是函数方面的例子,有函数的调用,函数的应用,函数指针
c++指针与递归的详细剖析
递归(含代码执行过程解释) 函数指针(含代码执行过程解释) 两个最难的问题的详细讲解 甚至包括其中代码的执行过程的讲解
C语言中的指针和递归函数(1).pptx
C语言中的指针和递归函数(1).pptx


