#include<stdio.h> #include<stdlib.h> int main() { int a = 1; int b = 2; int tmp = a; a = b; b = tmp; printf("a = %d b = %d\n",a,b); system("pause"); return 0; }
上面是用创建中间变量的方法交换,下面是不创建中间变量的另一种方法:
a = a+b; b = a-b; a = a-b; 当然还可以用异或: a = a^b; b = a^b; a = a^b; 以上都是在main函数中实现,下面一种方法创建了函数,用指针来交换两个整型值: #include<stdio.h> #include<stdlib.h> void Swap(int *p1, int *p2) { int tmp = *p1; *p1 = *p2; *p2 = tmp; } int main() { int a = 1; int b = 2; Swap(&a, &b); printf("a = %d b = %d\n",a,b); system("pause"); return 0; } 然而如果Swap函数写成下面这样是错误的,只是进行了值传递,上面的方法传的是地址 void Swap(int num1, int num2) { int tmp = num1; num1 = num2; num2 = tmp; }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
新闻标题:交换两个整型变量的值-创新互联
链接地址:https://www.cdcxhl.com/article48/cejihp.html
成都网站建设公司_创新互联,为您提供网站排名、App开发、ChatGPT、微信小程序、外贸网站建设、企业网站制作
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联