问一个c语言程序的执行过程

来源:百度知道 编辑:UC知道 时间:2024/05/09 19:27:42
请选出以下程序的输出结果
#include<stdio.h>
fun(s, n1, n2)
int *s, n1, n2;
{ int i, j, t;
i=n1; j=n2;
while(i<j)
{ t= *(s+i); *(s+i)= *(s+j); *(s+j)=t;
i++; j--;
}
}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a;//这里a是多少呢?
fun(p,0,3); fun(p,4,9); fun(p,0,9);//这里的fun(p,0,3)是多少?
for(i=0; i<10; i++) printf(“%d”, *(a+i));
printf(“\n”);
}
主要是fun没搞清楚

#include<stdio.h>
fun(s, n1, n2)
int *s, n1, n2;//没有见过这样写的,c不是这样写的吧!!!!
{ int i, j, t;
i=n1; j=n2;
while(i<j)
{ t= *(s+i); *(s+i)= *(s+j); *(s+j)=t;
i++; j--;
}
}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a;//这里a是多少呢? a是数组的起始地址
fun(p,0,3); //这个是没有返回值的,功能是把数组a中的0-3倒序一下.,
//a 中的数据为4321567890
fun(p,4,9); //4-9倒序a中的数据为4321098765
fun(p,0,9);//这里的fun(p,0,3)是多少?//a 中的数据为5678901234
for(i=0; i<10; i++) printf(“%d”, *(a+i));
//输出结果为5678901234
printf(“\n”);
}