C++编程:求两数最大值代码填空

需积分: 31 16 下载量 93 浏览量 更新于2024-08-18 收藏 8.66MB PPT 举报
"以下程序求两个数的大者请填空。-谭浩强经典C++" 在C++编程中,题目所述的程序旨在找出两个整数中的较大值并将其打印出来。程序的核心在于动态分配内存以及指针的使用。以下是完整的程序代码: ```cpp #include <iostream> int main() { int *p1, *p2; p1 = new int; p2 = new int; std::cin >> *p1 >> *p2; if (*p2 > *p1) { *p1 = *p2; } delete p2; std::cout << "max=" << *p1 << std::endl; return 0; } ``` 这段代码首先包含了`iostream`库,用于处理输入输出操作。`main`函数是程序的入口点,它定义了两个整数指针`p1`和`p2`。然后,使用`new`关键字动态分配内存给这两个指针,这样它们就可以分别存储两个输入的整数。 `cin`语句用于从标准输入(通常是键盘)读取两个整数,并将它们分别赋值给`*p1`和`*p2`,这里使用解引用操作符`*`来访问指针所指向的内存位置。 接下来的`if`语句比较`*p2`和`*p1`的值,如果`*p2`大于`*p1`,则将`*p1`的值更新为`*p2`的值,确保`*p1`始终保存两个数中的较大值。 在找到最大值后,由于不再需要`p2`指向的内存,使用`delete p2`释放这块内存。最后,`cout`语句打印出最大值,即`*p1`的值,之后以`endl`结束输出行。 这段代码体现了C++中动态内存管理的基本用法,以及如何使用指针进行数值的比较和交换。同时,也展示了C++的流程控制(`if`语句)和输入输出操作。需要注意的是,虽然这里只涉及了基本概念,但在实际编程中,应尽量避免不必要的动态内存分配,以减少内存泄漏的风险。在C++11及其后续版本中,可以考虑使用智能指针(如`std::unique_ptr`或`std::shared_ptr`)来更安全地管理内存。