
展开全部
这个是交换两个变量值的代码.
假定 a的初始值是A b的初始值是B, 那么目标就是a=B b=A
先做 a=a+b = A+B
b=a-b=A+B-B=A
到这里 b=A实现了.
然后就需要 a=a-b=A+B-A=B 这样才可以实现交换.
用乘除也可以,比如
a=a*b;
b=a/b;
a=a/b;
这样也可以达到效果.
假定 a的初始值是A b的初始值是B, 那么目标就是a=B b=A
先做 a=a+b = A+B
b=a-b=A+B-B=A
到这里 b=A实现了.
然后就需要 a=a-b=A+B-A=B 这样才可以实现交换.
用乘除也可以,比如
a=a*b;
b=a/b;
a=a/b;
这样也可以达到效果.
追问
有点不明白
展开全部
一般编译器在解释的时候符号是如果同优先级从左往右的所以是
a=(b--)-c
不过有些编译器可能是从右往左的。。就成了a=b-(--c)了
a=(b--)-c
不过有些编译器可能是从右往左的。。就成了a=b-(--c)了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先看"=",它具有右结合性,所以再看b---c,整个不就是从左到右了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设a=1,b=2
a= a+b = 1+2=3
b= a-b = 3-2=1
a=a-b=3-1=2
事实上就是把a和b对调不通过第三个变量
和
t = a;
a = b;
b = t;是一样的
a= a+b = 1+2=3
b= a-b = 3-2=1
a=a-b=3-1=2
事实上就是把a和b对调不通过第三个变量
和
t = a;
a = b;
b = t;是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-11-06
展开全部
推荐你去实际运行一下看看结果是怎样的,实践出真知
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询