#include<stdio.h>
main()
{ int a[5]={2,4,6,8,10}, *p , **k;
p=a; k=&p;
printf("%d ",*(p++));
printf("%d
",**k);
}
//*p++先进行*p的操作,然后是p++,所以*p++的结果是数组的第一个元素,即2
//k的取值是p的地址,当运行了p++以后,p指向的是数组a的第二个元素地址,所以为4
#include<stdio.h>
void sort (int a[],int n)
{
int i,j,t;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{
t=a[i];a[i]=a[j];a[j]=t;}
}
void main()
{
int i,s[10]={3,14,8,2,15,7,12,3,11,4};
sort(s+2,4);
for(i=0;i<10;i++)
printf("%5d",s[i]);
printf("
");
}
请问这里的函数调用中的sort(s+2,4);
谁能帮我解释一下啥
数组名当函数参数时候,数组名退化为指针,
从数组第三个开始的后面4个数的排序
s+2=s[2]
s+2<=> &s[2]