首页 > 其他分享 >C练习——不创建临时变量,交换两个数值

C练习——不创建临时变量,交换两个数值

时间:2023-12-26 16:56:49浏览次数:27  
标签:return 变量 int 练习 交换 数值 超范围 printf

该问题面试可能会问

方法一(有缺陷,int 型数值有上限,a+b可能超范围)

// int 型数值有上限,a+b可能超范围
#include <stdio.h>
int main()
{
    int a = 2;
    int b = 3;
    printf("交换前:%d %d\n", a, b);
    a = a + b; //3+2
    b = a - b; //3+2-3
    a = a - b; //3+2-2
    printf("交换后:%d %d\n", a, b);
    return 0;
}

 

 

 

方法二(按位异或,只能用于整数) 

#include <stdio.h>
int main()
{
    int a = 2;
    int b = 3;
    printf("交换前:%d %d\n", a, b);
    a = a ^ b; //3^2
    b = a ^ b; //3^2^3
    a = a ^ b; //3^2^2
    printf("交换后:%d %d\n", a, b);
    return 0;
}


 在实际开发中,一般交换两数数值会创建临时变量,这样占用内存不多且运行较快,性价比高

方法二只能用于整数且运行慢,代码可读性不高,只需知道,实际不推荐使用。

标签:return,变量,int,练习,交换,数值,超范围,printf
From: https://www.cnblogs.com/xiaowanglong/p/17928744.html

相关文章

  • static final 修饰成员变量
    作用static:使变量成为类的成员,而不是对象的成员。这意味着该变量在类加载时就会分配内存,并且在整个程序运行过程中都保持不变。final:使变量成为常量。这意味着该变量的值在程序运行过程中不能被修改。优点提高程序性能。由于staticfinal变量在类加载时就会分配内存,因......
  • Java变量再次理解
    Java变量共分为三类,分别为成员变量,局部变量,静态变量希望这次可以理解的透彻并记住成员变量(也叫实例变量,对象变量):其实通俗理解就是当每个对象都想有自己的变量值时就是声明成员变量,比如班级里的每个人都有自己的name,我们创建类的时候声明的成员变量的名字是name,这样大家都有自......
  • Java多线程​(五)练习题7道
    练习多线程练习1(卖电影票)一共有1000张电影票,可以在两个窗口领取,假设每次领取的时间为3000毫秒,要求:请用多线程模拟卖票过程并打印剩余电影票的数量线程类实现:publicclassTicketWindowextendsThread{publicTicketWindow(){}publicTicketWindow(Stringname){super(nam......
  • 每日一练 | 华为认证真题练习Day154
    1、由于属性AS-PATH不能在AS内起作用,所以规定BGP路由器不会宣告任何从IBGP对等体来的更新信息给其IBGP对等体A.正确B.错误2、通过重发布命令注入BGP的路由,其ORIGIN属性为INCOMPLETEA.正确B.错误3、自治系统(AUTONOMOUSSYSTEM,AS)是指用户自主定义的,使用统一选路策略的一组路由......
  • 2023.12.25 近期练习
    CF1793F有一个朴素的想法,使用不删除莫队,使用一种数据结构维护相邻元素的差,\(O(n\sqrtq\logn)\)。可以通过链表加不增加莫队,维护最小值,使用值域分块,\(O(n\sqrtq+q\sqrtn)\)。即使如此,也因为常数过大无法通过。考虑使用扫描线,从右往左扫描区间,将询问挂到左端点上。大于小......
  • Python中的变量是什么?数据类型又有哪些?
    Python语言的基础构成要素:变量与数据类型。因为不仅是Python,变量与数据类型可以说是所有编程语言的核心。掌握了语言的变量与数据类型的体系,可以说就掌握了这门语言的一大半儿。1、什么是变量我们都知道应用程序在运行阶段的数据存放在内存中,那实现应用程序的编程语言是怎么操......
  • 天池AI练习生计划 - 第三期数据分析入门与实践,火热进行中!通关赢取双重礼品!
    《Numpy实践》《Pandas实践》课程带您了解numpy与pandas的所有核心操作与特性;《Matplotlib实践》课程助您解决用python做数据可视化时面临的两大痛点。轻松来闯关,即可领取双重礼品~实训培训证书:通关两个关卡即可领取家用纯棉毛巾:通关全部关卡即可领取活动地址:https://tianchi.......
  • PATH环境变量
    PATH环境变量:问题:直接创建一个可执行脚本hello.sh直接执行提示“hello.sh:未找到命令” PATH,最常见的一个环境变量用于描述可执行程序的搜索路径echo $PATH  多个路径之间以冒号分隔usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin默认的,系统......
  • 变量
    1变量变量:一种会变化的状态,这个状态能描述一切2Python中定义变量name='nick'#变量名赋值符号变量值print(name)#变量名作了什么:接收了变量值nickheight=100weight=100定义变量名的命名规范1.变量名要具备某种意义2.变量名只能使用字母,数字,下划线来组成,并且第......
  • 系统环境变量
    系统环境变量:系统环境变量:定义在/etc/profile 中,此中的环境变量对所有用户有效以root身份执行:gedit /etc/profile  一般不直接修改/etc/profile 而是在 /etc/profile.d/创建一个自定义的脚本 1.先切换到root用户,并以可编辑状态进入到/etc/profil......