C语言三道关于指针的题目 明天考试 急等答案 求高手解答+解释 非常感谢

2024-12-13 17:01:59
推荐回答(3个)
回答1:

第一个题排序的是a[0],a[2],a[4],a[6],a[8],有i+=2可以得出来,然后由if(a[i]可知,是按从打到小排
第二题答案给错了 应该是5,4,3,2,1,第一次i=0,j=4,递归一次后,i=1,j=3,继续交换,然后i=2,j=2,结束

第三题pc是数组地址,第一次先输出c[0],然后pc++,指向下一个位置,c[1]小于c+2,继续输出,然后c[2],等于c+2

回答2:

#include
void sort(int a[],int n)
{
int i,j,t;
for(i=0;i for(j=i+2;j if(a[i] {
t=a[i];a[i]=a[j];a[j]=t;
}
}
void ff(int a[],int i, int j)
{ int t;
if(i{
t=a[i];a[i]=a[j];a[j]=t;
ff(a,i+1,j-1);
}
}
void main()
{
int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
int a3[5]={1,2,3,4,5};
sort(aa,10);
for(i=0;i<10;i++)
printf("%d ",aa[i]);
printf("\n");

ff(a3,0,4);
for(i=0;i<5;i++)
printf("%d,",a3[i]);
printf("\n");
}
错误都改过来了
1,9 2 7 4 5 6 8 1 10
2,5 4 3 2 1
3,pc=c;pc10#30#

回答3:

感觉 你那张纸 手动跑一下程序不就出来了啊!