gpt4 book ai didi

c - 交换两个变量的函数

转载 作者:行者123 更新时间:2023-11-30 18:20:07 27 4
gpt4 key购买 nike

我是新手,现在正在学习指针。我遇到了这个问题:

功能1:

void swap(int *x, int *y)
{
int *p;
*p=*x;*x=*y;*y=*p;
}

功能2:

void swap(int *x, int *y){
*x=*x+*y;*y=*x-*y;*x=*x-*y;
}

我知道函数 2 可以很好地交换两个变量,但函数 1 不能。为什么?感谢您的回答。 :)

最佳答案

在 function1 中,您使用的指针 p 未指向有效地址。这里不需要指针:

void swap(int *x, int *y)
{
int p;
p=*x;*x=*y;*y=p;
}

关于c - 交换两个变量的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30402073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com