VC++用一个函数指针反向改变一个数组值的顺序

来源:互联网 发布:南昌有mac口红专柜吗 编辑:程序博客网 时间:2024/05/01 16:27

#include "stdafx.h"
using namespace std;
#include <iostream>
#include <string>

//变量指针定义和引用
void hand(int *ip,int size);

void main()
{
 int j[] = {1,2,3,45,45};
 //计算数组j的长度
 int size = sizeof(j)/sizeof(*j);
 hand(j,size); 
 for (int i=0;i<size;i++)
 {
  cout <<j[i]<<endl;
 }
}
void hand(int *ip)
{
 *ip = 200;

}

void hand(int *ip,int size)
{
 //定义一个指针用来临时存储数据
 int *c = new int[size] ;

 //定义一个变量,存储c数组下标的位置
 int idx =0;

 //利用循环将函数传递过来的参数数组值反向添加到c这个数组当中去
 for (int i=size-1;i>=0;i--)
 {
  c[idx] = *(ip+i);
  idx = idx+1;
 }
 //然后利用指针将c数组中的值,正向输入到函数参数数组中
 for (int i=0;i<size;i++)
 {
  *(ip+i) = *(c+i);
 }
}

/**谁有更好的算法,请回复给我,大家一起探讨一下,哈哈**/


 

原创粉丝点击