用go语言编写一个函数 swap,该函数接受两个整数 的指针作为参数,并交换这两个整数的值, 在主函数中调用 swap 函数并验证交换是 否成功
时间: 2024-12-14 16:20:10 浏览: 7
C语言 指针变量作为函数参数详解
5星 · 资源好评率100%
在 Go 语言中,你可以创建一个名为 `swap` 的函数,它接收两个整数变量的指针作为输入,通过间接修改指针所指向的内存位置来达到交换两个整数值的目的。下面是一个简单的示例:
```go
package main
import "fmt"
// swap 函数接收两个整数指针作为参数,交换它们所指向的值
func swap(a *int, b *int) {
temp := *a // 创建临时变量存储 a 指向的值
*a = *b // 将 b 指向的值赋给 a
*b = temp // 将临时变量的值赋给 b
}
func main() {
// 定义两个整数并初始化
x := 5
y := 10
fmt.Println("Before swapping:")
fmt.Printf("x = %d, y = %d\n", x, y)
// 调用 swap 函数交换 x 和 y 的值
swap(&x, &y)
fmt.Println("After swapping:")
fmt.Printf("x = %d, y = %d\n", x, y)
// 验证交换是否成功
if x != y {
fmt.Println("Swap failed!")
} else {
fmt.Println("Swap successful!")
}
}
```
在这个例子中,我们首先打印出交换前的值,然后调用 `swap` 函数,最后再次打印值并检查它们是否已经被正确地交换了。如果 `x` 不等于 `y`,则表示交换失败。
阅读全文