`
ding43930053
  • 浏览: 39517 次
社区版块
存档分类
最新评论

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

 
阅读更多

#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);
}
}

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


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics