1. 首页 > 区块百科  > CSWAP币上线了哪些交易所(货币交易所)

CSWAP币上线了哪些交易所(货币交易所)

广告 X
OK欧意app

欧意最新版本

欧意最新版本app是一款安全、稳定、可靠的数字货币交易平台。

APP下载  官网地址

c语言中指针作为实参使用SWAP函数的问题。

c语言中形参与实参的关系是:形参是实参的值副本。无论参数的类型是什么,传递到子函数中的形参只是实参的值。所以,在改变形参变量自身的值时,是与实参无关的。换句话说,形参的改变不会影响到实参。

但,如果参数类型是指针类型,则可以通过对指针变量所指向的地址中的数据进行修改,达到改变实参地址中的数据目的。

因此,使用SWAP函数进行数据交换时,必须保证两点:

参数必须是指针类型,指向待交换的数据

交换时,必须交换地址中的数据,而不是交换地址本身。

参考代码:

//错误的交换代码1

voidswap1(inta,intb)//参数不是待交换数据的指针

{

intt=a;

a=b;

b=t;

}

//错误的交换代码2

voidswap2(int*a,int*b)

{

int*t=a;//交换形参变量本身

a=b;

b=t;

}

//正确的交换代码

voidswap(int*a,int*b)

{

intt=*a;//交换形参变量地址中的数据,指针变量不变

*a=*b;

*b=t;

}

C 语言swap函数怎么实现不了

楼主需要再深刻理解一下函数的参数和返回值~

首先一个函数的返回值必然只能是一个变量,您的swap函数中return(a,b)可能编译都不通过哦~

同时,函数的参数有传地址、传值、传引用三种形式,您这种情况建议使用传指针的方式,在swap中直接对a,b的值进行修改。代码如下:

void swap(int*a, int*b)

{

int t;

t=*a;

*a=*b;

*b= t;

}

在main中调用方法为 swap(&a,&b);