交换问题-两个数交换,但不加入第三个数,对于这样的做法具体栈中是怎么一个顺序?

问题描述

两个数交换,但不加入第三个数,对于这样的做法具体栈中是怎么一个顺序?

两个数交换,但不加入第三个数,对于

int num1 =1;

int num2 =2;

System.out.println("交换前---num1="+num1+" num2="+num2);

num2 = num1 +(num1 = num2)*0;
System.out.println("交换后---num1="+num1+" num2="+num2);

是怎么交换的??
num2 = num1 +(num1 = num2)*0;
对于这句语句,执行之后个人觉得是num1和num2都是2,可是执行结果却不是,这点没搞懂!谢谢

解决方案

你到网上找java运算符优先级,看一下执行先后就能明白。

num2 = num1 +(num1 = num2)*0;

1.执行()中,num1=num2, num1 = num2; (此时不影响+左边的num1值)
2.执行(num1 = num2)*0 = 0
3.执行num1 + 0
4.执行num2= num1;
完成交换。

时间: 2024-12-03 20:10:56

交换问题-两个数交换,但不加入第三个数,对于这样的做法具体栈中是怎么一个顺序?的相关文章

using-输入10个整数,将其中最小的数与第一个数交换,把最大的数与最后一个数交换。用指针实现,但是程序崩溃了

问题描述 输入10个整数,将其中最小的数与第一个数交换,把最大的数与最后一个数交换.用指针实现,但是程序崩溃了 #include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main() { int a[10],i, p, *q, *n; printf("请输入十个数n"); for

路由 cisco-一个交换机上两个路由器接入可以吗

问题描述 一个交换机上两个路由器接入可以吗 各位大虾,小弟我本来有一个艾泰的路由器192.168.91.1管理着一个局域网192.168.91.0/24,开了DHCP,也有绑定大部分设备MAC,这个路由器接着一个电信的固定IP城际光纤,用于访问Internet: 现在国外的总部说要开通一条专线用于访问总部的ERP系统,总部网段是192.168.54.0/24: 这条专线由Verizon承包实施,它在我这头接加了个Cisco891路由器,专线接在Cisco路由器的WLAN口上,然后在LAN口1接了

SEO友情链接交换技巧及如何交换

最近有很多网友都加了我得QQ并且与我交流,交流中的网友有对SEO了解一些的,也有什么都不了解的,其中有一部分人很头疼,可能是因为自己对SEO没有接触过,或者根本不知道SEO怎么去做,只知道SEO是可以提高网站排名,可以帮助我们让客户自动找上门的好东西,但是具体的操作却在脑海中很模糊,我对这部分网友们的网站进行了查看,其中我发现了有很多网友们对SEO友情链接的交换概念完全领悟错了,举一个最简单的例子,在我们做SEO的工作时,其中能够提高排名并且快速提高PR值得方法就是友情链接,所以大家都知道友情链

有5个数,a、b、c、d、e。可以进行两两相乘a*a a*b...以此类推,然后将两两相乘的数和原先的5个数一起进行排序,怎么设计这个算法

问题描述 题目如上,有代码的话更好. 解决方案 解决方案二:有5个数,a.b.c.d.e.可以进行两两相乘a*aa*b...以此类推,然后将两两相乘的数和原先的5个数一起进行排序,怎么设计这个算法解决方案三:好高深啊,没时间仔细看解决方案四:算法好久没研究过了,刚入行的时候接触了些解决方案五: 解决方案六:publicstaticvoidmain(String[]args){//Stringi="0";//Fun(i);//System.out.println(i);////Syste

java数组-Java计算排列组合 用java计算0,1,2,3这三个数每一行出现一个数,共有15行这样的数,如何求

问题描述 Java计算排列组合 用java计算0,1,2,3这三个数每一行出现一个数,共有15行这样的数,如何求 用java计算0,1,2,3这三个数每一行出现一个数,共有15行这样的数,如何求 解决方案 我觉得你的问题实在是很模糊,我刚好对java多线程懂一些,所以多问两句: 计算的是什么样的排列组合? 0,1,2,3 的 15行这样的数是哪样的数? 三个数? 每一行出现一个数? 麻烦解释一下~ 另外一个小建议:以后不要这样提问题啦~那些懂的人就算看到也会懒得回答的哦.提问要清晰明确~ 解决方

java-Java中要求输入一个数字,该数字只能在另外两个数值之间,如果不满足要求重新输入。

问题描述 Java中要求输入一个数字,该数字只能在另外两个数值之间,如果不满足要求重新输入. 新手求教!Java中要求输入一个数字,该数字只能在另外两个数值之间,如果不满足要求重新输入. 解决方案 做一个循环,条件是比较这个数.不满足就循环就可以了. 解决方案二: 设定一个标记变量 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int x

调试-java怎么解答三个数以上的整数排序

问题描述 java怎么解答三个数以上的整数排序 import java.util.Scanner; public class Exercise8 { private static Scanner input; public static void main(String[] args) { input = new Scanner(System.in); System.out.print("Enter three numbers:"); int num1 = input.nextInt(

c语言-[C语言]求一个算法,输入N个数,输出所有其中任意M个数相加等于定值S的结果

问题描述 [C语言]求一个算法,输入N个数,输出所有其中任意M个数相加等于定值S的结果 如题,比如输入1,,2,10,5,7,8,9,11,输出其中任意几个数相加等于12的结果(不重复), 不自身相加. 1+2+9=12 10+2=12 7+5=12 解决方案 这题如果不考虑优化问题--轮询吧--总共有2的n次方种组合-学过排列组合的都知道

求教android中如何控制一个activity在内存中的实例个数

问题描述 求教android中如何控制一个activity在内存中的实例个数 项目中有个需求,一个activity中有个按钮可以打开自己的另一个实例,那么这样就会出现不停的点,不停的创建这个activity实例的情况出现,有没有方法可以控制这个activity实例的个数啊,比如只保留最近打开的三个这个activity实例,有没有方法可以实现的啊,求教大神们 解决方案 android 让自己的Activity只创建一个实例 解决方案二: 机器人的回答没有用啊,需要是保存3个实例,不是一个啊 解决方