如何不创建临时变量,来交换两个整形变量的值异或运算 #include<stdio.h>
int main()
{ int num1=12,num2=24;
printf("交换前的变量值");
printf("%d,%d",num1,n
原创
2015-09-29 13:55:01
642阅读
(1)加减法:a=a+b;b=a-b;a=a-b;(2)乘除法:a=a*b;b=a/b;a=a/b;(3)异或运算:a=a^b;b=a^b;a=a^b;(遇到a可翻译b,遇到b可翻译a)^异或(按位异或):相同出0,相异出1.如:2 0000 0000 0000 0010 3 0000 0000
原创
2016-01-24 21:33:43
470阅读
//不允许创建临时变量,交换两个变量的内容#include#includevoid my_swap(int *a, int *b){ *a = *a + *b; *b = *a - *b
原创
2022-09-02 13:56:19
77阅读
一、异或可以用异或来实现交换两个变量的值: 原理是:(x^y^y)==x; 如果一个变量异或另一个变量两次,将会得到异或以前的值; 因此可以使用该性质来实现对两个变量值的交换。x=x^y;//将异或的中间结果存储在x中
y=x^y;//利用上面的原理,将x异或y两次,得到以前的x值,赋值给y
x=x^y;//异或x两次,得到以前y的值,赋值给x二、循环语句的调整1.嵌套循环的调整//第一种循
转载
2023-09-01 10:21:29
66阅读
1.借助中间量交换通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:int x = 10;
int y = 20;
int temp = x;
x = y;
y = temp;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,
转载
2023-07-22 13:46:47
69阅读
一、python的变量1.变量的认识PyCharm是一种Python IDE带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具 其提供了一个带编码补全,代码片段,支持代码折叠和分割窗口的智能、可配置的编辑器# -*- coding:utf-8 -*-
# @Time : 12/5/18 10:53 AM
# @Author : CIGA
# @Filename : lianxi.p
一、python的变量1.变量的认识PyCharm是一种Python IDE带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具 其提供了一个带编码补全,代码片段,支持代码折叠和分割窗口的智能、可配置的编辑器# -*- coding:utf-8 -*-
# @Time : 12/5/18 10:53 AM
# @Author : CIGA
# @Filename : lianxi.p
在C语言中可以通过建立临时变量来实现两个变量的交换,当不允许建立临时变量时,应该怎样实现两变量的交换呢? 假设有两个变量num1和num2;下面通过两种方法进行分析。方法一:利用加减法。具体算法分析如下: &nb
原创
2015-09-29 00:49:11
691阅读
文章目录前言基本思路代码总览举例分析前言在单向链表的创建与遍历中,我们知道了如何
原创
2022-08-02 16:43:37
75阅读
问题:a=3,b=5,不使用新变量,交换a和b的值。
第一种 异或的方法直接可以交换不提
第二种:
a=a+b;
b=a-b;
a=a-b;
但a+b可能会溢出
所以 那为什么不用a=a-b不会溢出呢
a=a-b;
b=a+b;
a=b-a;
完美解决溢出的问题 而且比异或的方法易懂省事
原创
2021-08-10 12:46:41
189阅读
点赞
#include<stdio.h>
int main()
{
int a,b;
printf("请输入两个数\n");
scanf("%d%d",&a,&b);
a=a^b;
b=a^b;
a=b^a;
printf("a=%d,b=%d\n",a,b);
return 0;
}
原创
2022-07-03 20:05:09
92阅读
文章导向:一、常见的交换两个变量的方法二、什么是异或?三、使用异或的方式交换变量一、常见的交换两个变量的方法使用临时变量的方法这个方法应该是大家喜闻乐见的方式,也是最常用最容易想到的。刚踏入编程世界的小伙伴肯定一来就最先是接触这种方法,先看代码吧:#include<iostream>using namespace std;int main(){ int a=5; int b=15; int temp=0; temp = a; a = .
原创
2021-11-19 09:13:24
1067阅读
不用临时变量交换两个变量的值
在学习C语言的时候,涉及到两个变量值的交换,其中用到临时变量。
类似于:
1
2
3
4
5
temp=a;
a=b;
b=temp;
这样的语句,如果在没有临时变量的情况下,该如何做呢?
网络上的人们给
转载
2022-08-30 10:44:26
162阅读
intmain(){//交换两个int的变量,不创建额外变量inta=3;intb=5;printf("%d%d\n",a,b);a=a^b;//a=a+bb=a^b;//b=a-ba=a^b;//a=a-bprintf("%d%d\n",a,b);return0;}
原创
2020-08-16 16:34:22
636阅读
3评论
在学习C语言的时候,涉及到两个变量值的交换,其中用到临时变量。如果在没有临时变量的情况下,该如何做呢? 方法一:C语言提供的异或运算就可以实现这样的操作。异或运算符“^”也称“XOR”运算符,它的规则是:若参加运算的两个二进位同号,则结果为0(假);异号为1(真)。 &
原创
2015-09-23 16:34:42
935阅读
点赞
cintmain(){inta=1;intb=3;a=a^b;b=a^b;a=a^b;printf("a=%d\n",a);printf("b=%d\n",b);return0;}上述代码实现了不创建临时变量实现a,b值的交换,这里注意^操作符的使用记住这个规律:a^a=0,0^a=a因此a^b^a=b,a^b^b=a^操作满足交换律
原创
2022-06-08 23:11:31
125阅读