通過指針引用數組元素-將數組a中n個整數按相反順序存放

通過指針引用數組元素-將數組a中n個整數按相反順序存放

可參考:

兩個順序線性表的合併,關於數組指針的操作。


http://blog.csdn.net/jiezou007/article/details/7906606

參考:字符串的反轉,理解反轉的兩種方式

http://blog.csdn.net/jiezou007/article/details/7959286

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void main()
{
	//void inv(int x[],int n);
	void inv(int *x,int n);
	int i,a[10]={3,7,9,11,0,6,7,5,4,2};
	printf("the original array:\n");
	for (i=0;i<10;i++)
		printf("%d,",a[i]);
	printf("\n");
	inv(a,10);
	printf("the array has been inverted:\n");
	for (i=0;i<10;i++)
		printf("%d,",a[i]);
	printf("\n");
	getch();
}

/*void inv(int x[],int n)//形參x是數組名,實際上是一個指針,[]實際上是一個變址運算符
{
	int temp,i,j,m=(n-1)/2;
	for (i=0;i<=m;i++)
	{
		j=n-1-i;
		temp=x[i];
		x[i]=x[j];
		x[j]=temp;
	}
	return;
}*/

void inv(int *x,int n)//形參x爲指針變量
{
	int *p,temp,*i,*j,m=(n-1)/2;
	i=x;j=x+n-1;p=x+m;
	for (;i<=p;i++,j--)
	{
		temp=*i;
		*i=*j;
		*j=temp;
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章