关于 C 语言指针实现数值交换
  • 板块学术版
  • 楼主言琢დ
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/8/20 14:44
  • 上次更新2023/11/3 02:28:14
查看原帖
关于 C 语言指针实现数值交换
50606
言琢დ楼主2023/8/20 14:44

我知道 C 语言可以用指针实现数值交换,类似于这样:

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

但是我想知道为啥下面这篇代码输出的是 1,2,2,1

m,nm,n 的指针交换了但是为啥值没换过来?

int main(){
	int m=1,n=2,*p=&m,*q=&n,*r;
	r=p;p=q;q=r;
	printf("%d,%d,%d,%d",m,n,*p,*q);
}
2023/8/20 14:44
加载中...