下面代码输出什么?
func incr(p *int) int {
*p++
return *p
}
func main() {
p :=1
incr(&p)
fmt.Println(p)
}
- A. 1
- B. 2
- C. 3
答案:B。
知识点:指针,incr() 函数里的 p 是 *int 类型的指针,指向的是 main() 函数的变量 p 的地址。 第 2 行代码是将该地址的值执行一个自增操作,incr() 返回自增后的结果。
下面代码输出什么?
func incr(p *int) int {
*p++
return *p
}
func main() {
p :=1
incr(&p)
fmt.Println(p)
}
答案:B。
知识点:指针,incr() 函数里的 p 是 *int 类型的指针,指向的是 main() 函数的变量 p 的地址。 第 2 行代码是将该地址的值执行一个自增操作,incr() 返回自增后的结果。