C++Primer第五版 6.2.4节练习
来源:互联网 发布:oracle数据库组件 编辑:程序博客网 时间:2024/06/04 14:52
练习6.21:编写一个函数,令其接受两个参数:一个是int型的数,另一个是int指针。函数比较int的值和指针所指的值,返回较大的那个。在该函数中指针的类型应该是什么?
答:见云盘程序
练习6.22:编写一个函数,令其交换两个int指针。
答:见云盘程序
练习6.23:参考本节介绍的几个print函数,根据理解编写你自己的版本。依次调用每个函数使其输入下面定义的i和j:
int i = 0, j[2] = {0,1}
答:见云盘程序
练习6.24:描述下面这个函数的行为。如果代码中存在问题,请指出并改正。
void print(const int ia[10]){for (size_t i =0; i != 10; ++i) cout << ia[i] << endl;}
答:打印一个维度为10的整数数组,但是数组长度限定,可以通过指针来打印数组,参考书上194页
练习6.21
/**练习6.21 *日期:2015/6/11*问题描述:练习6.21:编写一个函数,令其接受两个参数:一个是int型的数,另一个是int指针。函数比较int的值和指针所指的值,返回较大的那个。在该函数中指针的类型应该是什么?*功能;比较两个数,输出最大的 *作者:Nick Feng *邮箱:nickgreen23@163.com */#include <iostream>using namespace std;int compare(const int &val, const int *p ){ return val > (*p) ? val : *p;}int main(){ cout << "please input two numbers: " << endl; int a(0), b(0); cin >> a >> b; cout << "The bigger is: " << compare(a,&b) << endl; return 0;}
练习6.22
/**练习6.22*2015/6/11 *问题描述:练习6.22:编写一个函数,令其交换两个int指针。 *功能:交换指针 *作者:Nick Feng *邮箱:nickgreen23@163.com * */#include <iostream>using namespace std;void swap_int_pointer( int *p1, int *p2){ cout << "berfore swapping: " << *p1 << " " << *p2 << endl; int *temp = p1; p1 = p2; p2 = temp; cout << "After swapping : " << *p1 <<" " << *p2 << endl;}int main(){ cout << "please input two numbers: " << endl; int val1, val2; cin >> val1 >> val2; swap_int_pointer(&val1, &val2); return 0; }
练习6.23
/**练习6.23 *2015/6/11 *问题描述:练习6.23:参考本节介绍的几个print函数,根据理解别写你自己的版本。依次调用每个使其输入下面定义的i和j。 *功能:输出数组的里面的数*说明:自己写得版本写得不太好,书上的三个print不错,我写的这个仅供参考 *作者:Nick Feng *邮箱:nickgreen23@163.com * */#include <iostream>using namespace std;void print(int (&j)[2], int i)//int (&j)[2]//具有两个整数数组的引用 { for (i = 0; i != 2; ++i) cout <<*(j+i) << endl;}void print2(int *p, int i){ for (i = 0; i != 2; ++i) cout << *(p+i) << endl;//指针指向数组的首地址 } void print3(const int ia[10]) //测试练习6.24用 { for (size_t i = 0; i != 10; ++i) cout << ia[i] << endl;}int main(){ int i = 0; int j[2] = {0,1}; //int a[10] = {1,2,3,4,5,6,7,8,9,10}; cout << "Calls Function: " << endl; print(j,i); cout << "Calls Function: " << endl; print2(j,i); return 0;}
0 0
- C++Primer第五版 6.2.4节练习
- C++Primer 第五版 1.1节练习
- C++Primer第五版 1.3节练习
- C++Primer第五版 1.6节练习
- C++Primer第五版 2.4节练习
- C++Primer第五版 3.1节练习
- C++Primer第五版 4.2节练习
- C++Primer第五版 4.3节练习
- C++Primer第五版 4.4节练习
- C++Primer第五版 4.6节练习
- C++Primer第五版 4.7节练习
- C++Primer第五版 4.8节练习
- C++Primer第五版 4.9节练习
- C++Primer第五版 4.5节练习
- C++Primer第五版 5.1节练习
- C++Primer第五版 5.2节练习
- C++Primer第五版 6.1节练习
- C++Primer第五版 6.4节练习
- MySQL必知必会笔记
- Objective C----手动管理内存和自动管理内存
- SmartUpload 中文API帮助
- 字符串长度与字节个数
- MFC扩展DLL中导出类和对话框的实现方法
- C++Primer第五版 6.2.4节练习
- dropdownlist无刷新传值
- 黑马程序员——反射
- 创建gradle web项目并导入sts
- javascript json字符串到json对象转义问题
- lucene源码下载并导入eclipse工程
- IntelliJ(IDEA)Spark源码阅读环境
- JAXB-java对象和xml相互转换
- Algorithms—49.Group Anagrams