C语言的一个问题(挺难挺烦的)

来源:百度知道 编辑:UC知道 时间:2024/06/27 06:51:07
fun(int *s,int n1,int n2)
{
int i,j,t;
i=n1;j=n2;
while(i<j)
{
t=*(s+t);
*(s+j);
*(s+j)=t;
i++;j--;
}
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;
fun(p,0,3);
fun(p,4,9);
fun(p,0,9);
for(i=0;i<10;i++)
printf("%d",*(a+1));
}
运行结果是什么?请简单解释谢谢。
为什么我每次运行系统都提示“应用程序错误”?

输出
2222222222

问题很多:不知道你的目的,随便改了一下
---------------------------------------------------------------------------------------------------
fun(int *s,int n1,int 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;
fun(p,0,3);
fun(p,4,9);
fun(p,0,9);
for(i=0;i<10;i++)
printf("%d",*(a+i));
}

输出:5678901234

fun(int *s,int n1,int n2)
{
int i,j,t;
i=n1;j=n2;
while(i<j)
{
t=*(s+t);//运行出错的,t=*(s+i);
*(s+j); //这个没有作用,可能*(s+j)=*(s+i);
*(s+j)=t;
i++;j--;
}
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;
fun(p,0,3);
fun(p,4,9);
fun(p,0,9);
for(i=0;i<10;i++)
printf("%d",*(a+1)); //改为printf("%d",*(a+i));<