#include<stdio.h><br />void main()<br />{<br /> void inv(int *x,int n);<br /> int i,arr[10],*p=arr;<br /> for(i=0;i<10;i++,p++)<br /> scanf("%d",p);<br /> p=arr; /*要賦值*/<br /> inv(p,10);<br /> for(p=arr;p<arr+10;p++)<br /> printf("%d",*p);<br />}<br /> void inv(int *x,int n)<br /> {<br /> int *i,*j,m=(n-1)/2,temp,*p;<br /> i=x;j=x+n-1;p=x+m;<br /> for(;i<=p;i++,j--)<br /> {<br /> temp=*i;*i=*j;*j=temp;<br /> }<br /> }<br /> 書上的#include "stdio.h"<br />void main()<br />{<br /> void inv(int *x,int n);<br /> int i,arr[10],*p=arr;<br /> for(i=0;i<10;i++,p++)<br /> scanf("%d",p);<br /> p=arr;<br /> inv(p,10);<br /> for(p=arr;p<arr+10;p++)<br /> printf("%d",*p);<br />}<br /> void inv(int *x,int n)<br /> {<br /> int i,j,m=(n-1)/2,temp;<br /> for(i=0;i<=m;i++)<br /> {<br /> j=n-1-i;<br /> temp=*(x+i);*(x+i)=*(x+j);*(x+j)=temp;<br /> }<br /> } 自己的
將數組arr中的十個數字按相反順序存放。
實參和形參 都 用 指標變數做
我想知道為什麼要改成第一個那麼複雜的指標。
指點一下,謝啦。