C++指针练习:排序与猴子报数问题

需积分: 5 0 下载量 29 浏览量 更新于2024-08-26 收藏 1.39MB PPT 举报
"18指针习题课.ppt - C++指针练习" 在C++编程语言中,指针是一个非常关键的概念,尤其对于初学者来说,理解和掌握指针的操作至关重要。以下是从提供的文件中提炼出的三个关于指针的重要知识点: 1. 指针用于变量交换 在第一个例子中,`swap` 函数通过指针参数交换两个变量的值。这里的关键是理解指针可以用来间接访问和修改内存中的值。`swap` 函数接受两个整型指针作为参数,通过临时变量`t`实现`p1`和`p2`所指向的值的交换。在`main`函数中,通过传递变量的地址`&x`和`&y`,我们可以改变`x`和`y`的实际值,而不需要返回值。 2. 循环与指针遍历数组 第二个例子展示了如何使用指针遍历数组并实现特定逻辑。在这个问题中,猴子报数游戏通过指针`p`来遍历数组`a`。指针`p`初始化为数组的起始地址,然后在循环中移动,检查每个位置的值。当`count`等于`m`时,表示当前猴子报数到`m`,于是将该位置的值设为0表示猴子退出,然后指针`p`继续移动,直到所有应退出的猴子都被标记。最后,找到数组中第一个非零值的指针位置,即为猴王的序号。 3. 指针在字符串操作中的应用 第三个例子涉及到判断字符串是否为回文。这里使用了`string.h`库中的`strlen`函数,它返回字符串的长度。`strlen`函数通过遍历字符串直到遇到空字符`\0`来计算长度,这展示了指针在字符串处理中的应用。在判断回文的函数中,我们通常会使用两个指针,一个从字符串的开头向后移动,另一个从末尾向前移动,比较两者所指向的字符是否相同,直到两个指针相遇或发现不匹配的字符,从而确定字符串是否为回文。 这三个示例深入浅出地展示了指针在C++中的基本用法,包括传递指针参数、遍历数组以及处理字符串。对这些概念的熟练掌握是学习C++的重要步骤,它们在实际编程中有着广泛的应用。