利用指针逆序输出数组元素c++遍历数组元素c++逆序输出数组元素

利用指针逆序输出数组元素c++遍历数组元素c++逆序输出数组元素,第1张

采用指针访问方式,从键盘给数组a[n]输入数据,然后对数组值按逆序存放输出

 

首先,,要知道怎样用指针遍历数组元素

#include
using namespace std;

int main()
{
    int a[5] = { 1,2,3,4,5 };
    int* p = a;
    for (int i = 0; i < 5; i++)
    {
        cout << *p << " ";
        p++;
    }//输出1 2 3 4 5
    return 0;
}

 

然后,要知道怎么逆序输出数组元素

https://blog.csdn.net/qq_64744030/article/details/123956164?utm_source=app&app_version=5.3.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

#include
using namespace std;

int main()
{
    int a[5] = { 1,2,3,4,5 };
    
    for (int i = 0; i < 5/2; i++)
    {
        int t = a[i];
        a[i] = a[5 - 1 - i];
        a[5 - 1 - i] = t;
    }
    for (int i = 0; i < 5; i++)
    {
        cout << a[i] << " ";
    }//输出5 4 3 2 1
    return 0;
}

 

 

#include
using namespace std;

void swap(int* p, int m)
{
	int t;
	//交换
	for (int i = 0; i < m / 2; i++)
	{
		t = *(p + i);
		*(p + i) = *(p + m - 1 - i);
		*(p + m - 1 - i) = t;
	}
	for (int i = 0; i < m; i++)
	{
		cout << *(p + i) << " ";
	}
}

/*swap函数解析:
m是main函数中传入的n的形参,m/2表示一组数据中间那个数据的下标
p是数组a的首地址,同时*p也是a[0]
*(p+1)==a[1]、*(p+2)==a[2]......以此类推
*/

int main()
{
	int n;
	cin >> n;
	int a[999];
	for (int i = 0; i < n; i++)
	{
		cin >> a[i];
	}
	int* p = a;
	swap(p, n);
	return 0;

}

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/797517.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存