首页 > 其他分享 >题目:交换两个变量的值,不能使用第三个变量。

题目:交换两个变量的值,不能使用第三个变量。

时间:2023-10-17 17:44:40浏览次数:27  
标签:题目 变量 int 交换 第三个 printf return main

1、加减思想

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

存在问题:整形溢出

2、按位异或(二进制)

int main()
{
    int a = 3, b = 5;
    printf("交换前:a=%d b=%d\n", a, b);
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    printf("交换后:a=%d b=%d\n", a, b);
    return 0;
}

不会溢出,且不使用第三个变量

标签:题目,变量,int,交换,第三个,printf,return,main
From: https://www.cnblogs.com/tingting--123/p/17770292.html

相关文章

  • 请在课上练习的基础上,实现输出加减法混合的运算题目列表。请提交代码及运行效果截图。
    importjava.util.Random;publicclassMathOperationGenerator{  publicstaticvoidmain(String[]args){    intnumberOfQuestions=10;//指定生成题目的数量    generateMathQuestions(numberOfQuestions);  }  publicstaticvoidgenerateMat......
  • 请完善课上的口算题卡代码,实现重复题目的检测、题目数字范围、加减乘除算式的参数化等
    importjava.util.HashSet;importjava.util.Random;importjava.util.Set;publicclassMathQuizGenerator{  publicstaticvoidmain(String[]args){    intnumberOfQuestions=10;//设定生成题目的数量    intminNumber=1;//题目数字的最小值 ......
  • env-schema 环境变量check npm 包
    基于nodejs的应用开发中基于环境变量的配置管理是很场景的,env-schema是一个集成了jsonschema以及dotenv工具的一个npm包可以增强基于dotenv的配置管理(缺少check)参考试用app.js constenvSchema=require('env-schema')constschema={type:'......
  • 【NSSCTF逆向】【2023题目】《润!》
    题目解法这道题蛮搞的,不算简单。刚开始拿到这道题运行一下有些信息,是一道迷宫题,可能flag是我们输入的路线吧?先拿exeinfo来看看告诉我有壳,但是不要用upx-d来脱壳,结合题目的标签,知道这题有一个魔改upx壳。硬脱不行。说实话我对upx的了解很皮毛,网上搜了搜upx壳的详细源......
  • C语言-将两个文件中的字符串拼接在一起写入第三个文件中
    C语言-将两个文件中的字符串拼接在一起写入第三个文件中步骤1.先创建两个文件A.txt和B.txt,分别写入123,456步骤2.编写程序#include<stdio.h>#include<stdlib.h>#include<string.h>//将A.txt和B.txt中的字符串拼接,放入C.txt中intmain(){ FILE*fa,*fb,*fc; inti,j,......
  • Blazor获取组件变量值
    提问如何获取Blazor组件变量值回答给组件添加@ref,即可在父组件中获取子组件内容示例父组件引用子组件//声明子组件privateSelectEquips_selectEquips=null!;//使用子组件<GridColSpan="16"><SelectEquips@ref="_selectEquips"></SelectEquips><......
  • 前端调试时不改代码但又想打印变量信息怎么办?
    我们都知道,Chrome的控制台可以在调试的时候打断点。程序运行到这的时候会停止但有时候我们不希望程序断点执行,我们只是想看一些变量的信息。按照以前的方式,我们只能去修改源码增加打印日志的语句,这样既浪费时间,又需要在调试完成后清理掉我们打印的日志代码。其实,Chrome浏览......
  • 【gdb】打印函数局部变量的值
    打印函数局部变量的值1.例子:#include<stdio.h>voidfun_a(void){ inta=0; printf("%d\n",a);}voidfun_b(void){ intb=1; fun_a(); printf("%d\n",b);}voidfun_c(void){ intc=2; fun_b(); printf("%d\n",c);......
  • 函数指针变量
    函数指针变量函数指针变量应该是⽤来存放函数地址的,未来通过地址能够调用函数intadd(intx,inty){ returnx+y;}intmain(){ printf("%p\n",&add); printf("%p\n",add); return0;}函数是有地址的,add的地址和&add的地址一致说明函数名就是函数的地址将函数的地址......
  • 3_变量
    一.变量1.自定义变量1.定义变量:变量名=变量值#变量名不能是纯数字等号两边不能有空格值里面有空格必须用引号包起来name="niubi666"2.引用变量$变量名echo$nameniubi6663.重复定义变量1)aaa=123aaa=1122echo$aaa1122值会被覆盖......