C++学习 逆序输出
来源:互联网 发布:人工智能的好处和坏处 编辑:程序博客网 时间:2024/05/24 13:28
//#include "stdio.h"
////void main()//{//void reversal(int x[], int n);//static int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; /* 建立一个数组并初始化 *///int i;//for (i = 0; i<10; i++)//{//printf("%d ", a[i]);//}//printf("\n ");//reversal(a, 10); /* 调用自定义涵数进行反向显示排序,并把数组a的起始地址传送给形式参数x *///for (i = 0; i<10; i++)//{//printf("%d ", a[i]);//}//printf(" ");////}////void reversal(int x[], int n)//{///* 定义形式参数 *///{//int m = (n - 1) / 2; /* 计算10个数需要循环几次,因为是两两调换第一个数组是x[0]故应该是int(9/2) *///int temp, i, j; /* 建立零时变量temp用于每次交换处理时零时存储x的值 *///for (i = 0; i <= m; i++)//{//j = n - 1 - i; /* 反向计算出被调换的数组下标,例如x[0] 对应的x[n-1-i]就是x[9] *///temp = x[i];//x[i] = x[j];//x[j] = temp;//}//}////}///* 次题需要注意的是:这里由于a[10]和x[10]是共同享内存地址位的所以进行交换后a[10]的实际值也就发生了改变 */#include <stdio.h> void main(){void reversal(int *x,int n);static int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; /* 建立一个数组并初始化 */int i;for (i = 0; i<10; i++){printf("%d ", a[i]);}printf("\n");reversal(a, 10); /* 调用自定义涵数进行反向显示排序,并把数组a的起始地址传送给形式参数x */for (i = 0; i<10; i++){printf("%d ", a[i]);}printf("\n");}void reversal(int *x, int n)//int *x, n; /* 定义x为指针变量 */{int temp, *p, *i, *j; /* 这里需要注意的是temp用与交换的时候临时存储数据的 */i = x; /* 利用指针变量i存储数组a的起始地址 */p = x + ((n - 1) / 2); /* 计算最后一次循环的时候数组a的地址 */j = x + n - 1; /* 计算数组a也就是a[9]的结束地址好用于交换 */for (; i <= p; i++, j--) /* 利用循环和指针进行数组元素值的交换 */{temp = *i; /* 用temp临时存储*i也就是循环中a实际的值 */*i = *j;*j = temp;}}/* 此例同样要注意到利用指针进行数组的操作同样改变了实际数组各元素的值 */
在c/c++中利用数组名作为函数参数传递排序和用指针进行排序的例子。
以上两个例子要非常注意,函数传递的不是数组中数组元素的真实值而是数组在内存中的实际地址。
阅读全文
0 0
- linux C 学习 简单字符串逆序输出
- linux C 学习 简单字符串逆序输出
- C字符串逆序输出
- C++学习 逆序输出
- 关于c语言逆序输出
- C 递归逆序输出字符串
- 【C语言】逆序输出字符串
- C逆序输出数组元素
- Linux-C基础知识学习:C语言作业-从键盘输入一个三位数,以逆序输出。例如输入456,输出654
- C语言实现单链表逆序与逆序输出实例
- c语言 逆序 输出文件内容
- C语言逆序输出某个数字
- C语言关于字符串逆序输出---面试
- 第十五周-OJ-C字符串逆序输出
- c语言实现字符串的逆序输出
- C语言作业-advance4-1-逆序输出
- C语言 逆序输出单链表(递归)
- 算法学习十四----逆序输出链表
- X86 LGS/LFS指令详解
- HTML8 工作总结
- Android Samples---AppShortcuts(快捷启动)
- jquery中$each()方法的使用指南
- PHP之session_start()详解
- C++学习 逆序输出
- iosAnimationDemo
- Hive简介与安装及语法
- SQL Server DATEDIFF() 函数
- 由锚定浮标数据解特征值问题求垂向模态以及波速
- SnackDown Online Qualifier 2017 | Temple Land
- distance of vaa3d
- 正则表达式
- Git 分支小经验