一道内存寻址的题
void sort();int main()
{
int a[] = {2,5,29,90,34,45,47};
sort();
return 0;
}
void sort()
{
}
在sort()里面实现对数组a的排序(只能在sort()里面操作)
已经做出来了
但是感觉过于暴力 不合法
void sort();
int main()
{
int a[] = {2,5,29,90,34,45,47};
sort();
return 0;
}
void sort()
{
int b[7];
int x=1;
while (1)//寻找a[0]的首地址
{
if(*(b+x)==2)
{
printf("%d\n",x);
break;
}
x++;
}
int c;
for(int i=0;i<7;i++)
{
for (int j=i+1;j<7;j++)
{
if(*(b+x+i)>*(b+x+j))
{
c=*(b+x+i);
*(b+x+i) = *(b+x+j);
*(b+x+j) = c;
}
}
}
for (int i=0;i<7;i++)
{
printf("%d\n",*(b+x+i));
}
}
期待更好的解决方法