用C语言实现数组反序
【摘要】 题目:
比如输入:数组是1,2,3,4,5
反序后的结果是:5,4,3,2,1
实现代码如下
#include <stdio.h>//用数组反序数组void reserve1(int a[],int n){ int m=(n+1)/2; int i=0; for(i;i<m;i++){ int j=n-1-i; int ...
题目:
比如输入:数组是1,2,3,4,5
反序后的结果是:5,4,3,2,1
实现代码如下
-
#include <stdio.h>
-
//用数组反序数组
-
void reserve1(int a[],int n){
-
int m=(n+1)/2;
-
int i=0;
-
for(i;i<m;i++){
-
int j=n-1-i;
-
int temp=a[i];
-
a[i]=a[j];
-
a[j]=temp;
-
}
-
}
-
//用指针进行反序数组
-
void reserve2(int *a,int n){
-
int *p,*q,*length;
-
int m;
-
m=(n+1)/2;
-
p=a;
-
// length=(a+n+1)/2; //这个地方不是length=(n+1)/2,要记得加上数组的首地址,不要写成这样(a+n+1)/2,
-
//因为不能对a进行操作,只能进行偏移
-
length=a+m;
-
q=a+n-1;
-
for(;p<length;p++,q--){
-
int temp=*p;
-
*p=*q;
-
*q=temp;
-
}
-
}
-
void main() {
-
int a[5]={1,2,3,4,5};
-
int *p;
-
p=a;
-
// for(p;p<a+5;p++){
-
// printf("%d",*p);
-
// }
-
int length;
-
len
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/50549116
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)