函数调用过程中保存返回地址
保存堆栈框架
保存在sort函数中用到的寄存器的值
sort函数中为局部变量分配空间
编译器不同,对函数操作的情况会有差别,
代码的实现当然要依赖编译器和cpu的设计...
#include <stdio.h>
void sort(void);
int main()
{
int array[]={45,56,234,1,34,23,2,3};
sort();
{
int i; /*这儿的复合语句只是检验下数组array已经被sort()函数排序修改*/
for(i=0;i<8;i++)
printf("%d ",array[i]);
/*tc下请加getch()*/;
}
return 0;
}
void sort (void)
{
int index;
int *p=&index;
int b[]={45,56,234,1,34,23,2,3};
while(*p!=b[0]||p==b)
p++;
do{
index=0;
while(b[index]==p[index])
{
index++;
if(index==8)
break;
}
++p;
}while(index!=8);
--p;
{
int i,j,mid;
for(i=0;i<7;i++)
for(j=i+1;j<8;j++)
{
if(p[i]>p[j])
{
mid=p[i];
p[i]=p[j];
p[j]=mid;
}
}
}
}