C++ primer第六章课后题6.21和6.22

本文深入探讨了C++中指针与引用的使用,通过具体的代码示例讲解了如何利用指针进行数值比较及指针之间的交换,强调了在修改指针值时引用传递的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天晚上好像吃多了,嗝
慢慢来,会好的
6.21

#include<iostream>
using namespace std;
int Compare(int num, int *p);
int main()
{
	int temp = 9;
	int bigger = Compare(5, &temp);
	cout << bigger << endl;
	system("pause");
	return 0;
}
int Compare(int num, int *p)
{
	return num > *p ? num : *p;
}
//这里指针的类型是int*

6.22

#include<iostream>
using namespace std;
void ExchangePoint(int *&p1, int *&p2);
int main()
{
	int num1 = 18, num2 = 23;
	int *num1_p = &num1;
	int *num2_p = &num2;
	cout << "交换前num1_p指向的对象是:" << *num1_p << endl;
	cout << "交换前num2_p指向的对象是:" << *num2_p << endl;
	ExchangePoint(num1_p, num2_p);
	cout << "交换后num1_p指向的对象是:" << *num1_p << endl;
	cout << "交换后num2_p指向的对象是:" << *num2_p << endl;
	system("pause");
	return 0;
}
//指针的值要改变时也是要引用传递的,这一点被我忽略,结果出来的时候我还在想,我是不是理解错了
//指针交换后,指向的对象就交换了
//虽然结果也是数值调换了,但这个原因是因为指针交换。
//int *&p的读法,&距离p较近,把&p看做是一个整体,p是一个引用,它的类型是int*,
//也就是说p是一个指针变量的引用
//
void ExchangePoint(int *&p1, int *&p2)
{
	int *temp;
	temp = p1;
	p1 = p2;
	p2 = temp;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值