C语言交换两个数字的代码?

C语言交换两个数字的代码?,第1张

首先要捋顺一下,先看第一段程序。这段程序的目的就是为了将两个变量的数值进行交换。此时要明白指针手拍团的使用方法,这里的交换函数是void swap(int &x, int &y),即无返回值的函数,函数传递的参数是int &x和int &y,这两个东西是什么呢?这两个东西是定义的引用,而这个我们就可以理解为是两个用来存储传递进来的参数的地址的变量(这么说可能有点乱,其实就是将调用该函数是时传递进来的变量的地址给这两个参数),所以如果在这个swap函数中对这两个参数 *** 作时,实际上就是对传递进来的那两个变量进行 *** 作。至于你问的关于整型的问题,这个也很好理解,在c语言里地址就是整型的,而这两个变量定义的时候也是int整型的,所以无论是地址还是值都是整型的,而又因为*a和*b是一个指针指向的值,所以*a、*b是整型,而&a、贺肢&b是指针的地址,所以也是整型。

接下来看你第二段程序(你自己写的这个):

看程序前请仔细查看关于函数方面的资料,至于你这个return为什么是错的这个问题其实很简单,首先要了解一个函数的定义,定义函数简单的可以分为有返回值和无返回值的,有返回值的定义类似这样

int abc()

float bcd()

如上所示,函数名什么的都好理解,毕橘函数名前面的"int"和"float"是指函数返回的类型,即你这个函数在执行完之后需要用return语句返回一个值,而这个返回类型就是指这个返回值的类型。

还有一种是不需要返回值的,即

void abc()

void cde()

这类函数在执行完成后不需在最后添加return语句来返回值,如果添加了也用不了。

而你写的这个函数定义的是

int swap(int x,inty)

这里声明的是一个需要返回整型变量的函数,而这个函数里你的返回值语句return后没有跟任何变量或值,程序不知道你返回的是什么东西,所以会报错,这里一般都会填写return 0表示程序执行完成。当然这个0也可以换成整型的变量。

最后说一下你这个程序,你这个程序在执行完成后是不会将需要交换的变量a和b的值进行交换的。这个关系到形参和实参的概念,请仔细查看书籍或看一些例子,你这个只是将形参的值交换了,真正的需要交换的值不会改变,也就是说你只是将a和b的两个值复制了一份,然后将复制了的那个交换了,当swap函数完成后又将复制了的那份删除掉了,所以说,不管怎样最初的a和b都没有受到任何影响。

方法一:通过WINSOCK传方法二:程序一生成一文件,然后程序二读取方法三:利用数据库存轮激取这个是调用自制DLL示例,至于用ActiveX EXE,你可以参考一下,关键是留接口给另一程序VB制作标准DLL文件物此并调用该文件的示例1、建立一个ActiveX DLL工程,这时工程中将包括一个类模块Class1。 2、在腊蚂袜ActiveX DLL工程中添加一个Form。 3、在类模块添加如下函数:Public Function ShowMyForm(s As String) Form1.Caption = s Form1.Show vbModal End Function 4、将工程编译为DLL。 调用时: 1、建立一个标准EXE,在菜单“工程|引用”中选择前面编译的DLL。2、使用如下代码调用:Private Sub Form_Click() Dim cls As New Class1 cls.ShowMyForm("Hello") End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12430885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存