回覆列表
  • 1 # 使用者8213429783898

    #include<stdio.h>

    int main()

    {

    int inv(int *x,int n);

    int a[10]={8,6,5,4,1,15,-3,9,10,-2};

    int *p;

    printf("原先陣列為:\n");

    for(p=a;p<a+10;p++)

    printf("%3d",*p);

    printf("\n");

    p=a;//經過一個for的迴圈後,p已不指向最先的&a[0]了,指向&a[10],而&[10](出界)值不明,為此讓它繼續指向&a[0]

    inv(p,10);//呼叫反序函式,共5個元素

    printf("反序陣列為:\n");

    for(;p<a+10;p++)

    printf("%3d",*p);

    printf("\n");

    }int inv(int *x,int n)//反序函式

    {

    int *i,*j,m=(n-1)/2,*p,temp;

    i=x;j=x+n-1;p=x+m;

    for(;i<=p;i++,j--)//i和j的指標同步相向移動,實現陣列元素的對換

    {

    temp=*i;

    *i=*j;

    *j=temp;

    }

    return(0);

    }

  • 中秋節和大豐收的關聯?
  • 什麼是旅遊市場環境,它主要由哪兩部分構成?