c语言 数组元素逆序
来源:互联网 发布:刘强东脸盲 知乎 编辑:程序博客网 时间:2024/05/21 19:29
name :数组的逆序
由于同一数组中的元素地址连续---建议c语言中对数组的操作,尽量用指针操作数组元素(详见方法2)---减少开销
*/
#include<stdio.h>
int main()
{
int arr[]={1,3,545,23};
int i=0,j=0;
int n=0,temp=0;
n=sizeof(arr)/sizeof(int);
//打印原来数组
printf(" 原来的数组为:") ;
for(i=0;i<=n-1;i++)
{
printf("%4d",arr[i]);
}
printf("\n");
for(i=0,j=n-1;i<j;i++,j=n-1-i)//(i=0,j=n-1-i;i<j;i++)这样写不行---初始化表达式在循环中只执行一次
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
printf("逆序后的数组为:");
for(i=0;i<=n-1;i++)
{
printf("%4d",arr[i]);
}
printf("\n");
return 0;
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//方法2
#include<stdio.h>
int main()
{
int arr[]={1,3,8,545,23};
int* subi=NULL;//NULL要大写
int* supi=NULL;
int temp=0;
int i=0;
int n=0;
n=sizeof(arr)/sizeof(int);
printf("%p\n",arr); //测试语句
printf("%p\n",arr+1); //测试语句,arr+1-arr==sizeof(int)---这里的1 是 逻辑上的1
for(subi=arr,supi=arr+n-1;subi<supi;subi++,supi--)
{
temp=*subi;//交换时还是 值交换 ---但此处使用指针的*运算符取值,指针变量所占内存 < 普通变量
*subi=*supi;
*supi=temp;
}
for(i=0;i<=n-1;i++)
{
printf("%4d",arr[i]);
}
printf("\n");
return 0;
}
- c语言 数组元素逆序
- C语言基础 将一维整型数组元素逆序输出
- C逆序输出数组元素
- c语言数组的逆序
- C语言实验-数组逆序
- 【C++】逆序存放数组元素值
- C语言 写一个函数,将一维数组中的元素逆序存放
- FFT之数组逆序C语言实现
- C语言实验——数组逆序
- C语言实验——数组逆序
- C语言实验——数组逆序
- C语言实验——数组逆序
- 【C语言】求一个整形数组逆序
- C语言实验——数组逆序
- C语言实验——数组逆序
- C语言实验——数组逆序
- C语言实验——数组逆序
- C语言实验——数组逆序
- Java的优势
- 母函数详解
- linux初级学习
- 解题报告: Codeforces Round #305 (Div. 2) E.Mike and Foam (莫比乌斯反演)
- getenv等函数的用法
- c语言 数组元素逆序
- 8.12
- Sticks Problem (单调队列)
- C语言读写文件
- Linux文件系统
- IOS RUNLOOP 深入分析
- JDBC的增、查、改、删
- 【C/C++】string和stringstream
- Xml解析