指针!!!我恨你
  • 板块学术版
  • 楼主cf_x
  • 当前回复3
  • 已保存回复4
  • 发布时间2024/8/27 13:29
  • 上次更新2024/8/27 16:00:23
查看原帖
指针!!!我恨你
1235220
cf_x楼主2024/8/27 13:29

OK,我说一下这个代码哈
1.

#include<stdio.h>
void fun( int *a, int *b )
{
	int *k;
	k = a; a = b; b = k;
}


int main()
{
	int a = 3, b = 6, *x = &a, *y = &b;
	fun( x, y );
	printf( "%d,%d ", a, b );
}

最后输出的是: 3,6
然后改了一下

#include<stdio.h>
void fun( int *a, int *b )
{
	int k;
	k = *a; *a = *b; *b = k;
}


int main()
{
	int a = 3, b = 6, *x = &a, *y = &b;
	fun( x, y );
	printf( "%d,%d ", a, b );
}

输出的是: 6,3
改的地方是这里

k = a; a = b; b = k;

为啥一个是交换的是地址,一个交换的是数
结果就是不一样呢

2024/8/27 13:29
加载中...