坟贴
本帖最后由 竹逸 于 2022-11-20 17:44 编辑rt 你向swap函数中传递的是指向int类型的指针,但是在swap函数体中用来接受指针暂存的变量i是int,并不算指针类型。 第一你的swap函数里面,把一个指针类型给一个int型应该会报类型不匹配错误。
第二C语言是以传值的方式将参数传递给被调用函数的,你在swap里面的交换,不会改变实参的值,
你需要交换的是实参指向的变量,这样就可以交换了。
在swap里面这样写:int i;
i=*x;
*x=*y;
*y=i;这样就可以交换了,不可以直接交换地址的,需要交换地址指向的值 好乱的代码, 好多错误~
用代码格式发出来,这样才方便别人给你修改 —— 点击笑脸旁“<>”符号即可输入代码。 交换了地址不会对数据改变,就好像你按值传进去不会有改变一样,应该是改变地址指向内存的内容才会改变。
页:
[1]