扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
要求:使用形参为指针的函数swap完成交换功能。主函数中,使用整型指针从键盘输入两个整数,通过调用swap完成交换 输出交换前后的变量值进行比较。
创新互联公司-成都网站建设公司,专注成都网站设计、网站建设、网站营销推广,域名与空间,虚拟空间,网站托管维护有关企业网站制作方案、改版、费用等问题,请联系创新互联公司。
首先要捋顺一下,先看第一段程序。这段程序的目的就是为了将两个变量的数值进行交换。
在C语言中,通过函数参数传递,进行两个数的交换,必须采用传递指针的方式,同时,在函数中,一定要对两个指针中的数据内容进行交换才能达到交换实参地址中数据的目的。
int *p, int *q){ int temp;//定义临时变量 存放中间值 temp = *p;p = *q;q = temp;} 注意:不能直接写void swap(int i, int j);因为那只是临时变量,函数调用完后,便释放空间,两个值并没有交换。
其实就是内存地址的内容互换了;p1 = &a1,就是取了a1在内存中的地址给p1,这个指针,那么p1就指向了a1的那块内存。同理p2指向a2的内存。
新建一个工程和.c文件 ,输入头文件和主函数。然后开始定义变量类型。输入a和b两个整数。对a和b两个不同的整数进行赋值。然后通过if语句实现值大小的比较。输出最后的结果。
首先需要两个中间变量作为交换的媒介。程序如下 :main(){ int a=1,b=2,c=3;int x=a,*y=b,*z=c;/*定义3个指针变量,并分别赋予初值为a,b,c的地址。
1、fun4()是正确的。为了在函数中改变了的变量能被其它函数调用,正确的办法是用指针变量作为函数参数,在函数执行过程中使指针变量所指向的变量值发生变化。
2、/ 编写c语言程序,实现交换两个变量值的操作。要求:使用形参为指针的函数swap完成交换功能。主函数中,使用整型指针从键盘输入两个整数,通过调用swap完成交换 输出交换前后的变量值进行比较。
3、不知道你要交换的两个变量类型,所以这里以整型数据交换为例,以下swap函数实现了交换两个整型变量值的功能:include stdio.h// 交换给定指针指向整型变量的值。
1、如果你想函数实现,不用指针做不了吧。C++、Java还可以用引用,但是引用的实质仍是指针。
2、楼上的可以,不过,要在最上面加上 include cstdio 这条语句,因为printf函数在这个库函数里面。
3、不用指针了可以啊,例如交换a和b的值(前提不溢出)a +=b;b=a-b;a=a-b;如果你问为什么swap(int a,int b)无法交换,这是因为实参是形参的拷贝。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流