c语言中a+=a-=a*a如何计算

作者&投稿:淳滢 (若有异议请与网页底部的电邮联系)
C语言中a+=a-=a*=a答案是多少?~

a初值为12时,a+=a-=a*=a结果为0步骤:这个表达式的运算是从右向左的:1. a*=a:a=a*a=12*12=1442. a-=144: a=a-144=144-144=03. a+=0: a=a+0=0+0=0。


连续赋值运算,从右向左计算即可。

原始的表达式等于:

a-=a*a;

a+=a;

也就是:

a=a-a*a;

a=a+a;

例如a=5;

那么:

a=a-a*a=5-5*5=-20;

a=a+a=-20 + (-20) = -40;

最终a为-40,表达式整体值也就是a最终值,一样是-40。

扩展资料:

注意事项

1、赋值运算符满足右结合律,C++允许连续赋值操作。

EX:

int ival,jval;

ival=jval=0;//ival,jval都被赋值为0

string s1,s2;

s1=s2="OK";//s1,s2都被赋值为同一个字符串"OK"

对于多重赋值的每一个对象,它的类型或者与右边对象的类型相同,或者可以由右边类型的对象转换得到。

int ival,*pval;

ival=pval=0;//Error,不能把指针的值赋给int

2、c中不可以再定义变量时对变量进行连续赋值。

例如 int x=y=2;“=” 

运算符是从右至左结合,把2赋值给y,但此时y还没有定义,违反了c中先定义后使用原则。 正确写法 int x,y; x=y=2;



a+=a-=a*a;为连续赋值运算,从右向左计算。
于是原始的表达式等效于:
a-=a*a;
a+=a;
也就是
a=a-a*a;
a=a+a;
例如,a=5;
那么
a=a-a*a=5-5*5=-20;
a=a+a=-20 + (-20) = -40;
最终a为-40,表达式整体值也就是a最终值,一样是-40。

我想是向计算(++a)+(++a)得到10,然后压栈,再计算最后一个(++a)得到6,相当于a+a+a,在计算前两个a之和是进行了两次自加得到a=5,和最后一个a运算之前还要进行第三次自加,即这时a=6。

OK,visual
C++的C语言中结果的确是16,我的个人理解是这样的:
首先是从右向左结合的顺序,执行第三个++a,a的值为4,然后执行第二个括号内的内容,a变成5,然后第二个括号和第三个括号的内容相加得10.
之后执行第一个括号内的内容a变成6,然后6+10=16.

a+=a-=a*a;
等效于
a=a-a*a;
a=a+a;


C语言a =a-=a*=a什么意思
a*=a 就是 a = a * a, 此时 a为原来的平方 a-=(a*a),就是 a = a - a, 其中a为最初a的平方,但是不管它是多少, a - a都是0 ,此时 a = 0 a = a, 也就是 a = 0 最后 a = 0

C语言中,a+=a-=a+a;执行顺序是什么?
a-=a的意思为a=a-a,先用a减a,然后再将得到的结果赋值给a。-=实际上是一种缩写形式,使得对变量的改变更为简洁。运算时,可以将其写成熟悉的形式,从右向左依次计算,注意在每次计算时,变量的值会发生改变, 如不注意,就会导致错误的情况发生。

c++ 语言中char a="a";和char a='a' 有什么区别
char a='a' 是合法的 char a="a' 是不合法的 char型不能为字符串,只能为字符

哪位大神知道,c语言中a=a--怎么理解?
返回值是a原来的值,副作用是让a自减。等同于 a--

C语言里为什么执行a+=a-=a*=a后a=0呢???
=从右到左计算 先算a*=a得a=a*a;然后算a-=a即a=a-a得a=0;左后a+=a;即a=a+a;a还是0

求C语言语句运行结果 a+=a-=a*=a;
a+=a-=a*=a;相当于三步:a=a*a;a=a-a;\/\/a肯定等于0了 a=a+a;\/\/a还是等于0 结果当然是0啦

a+=a-=a=a*a是什么意思,求c语言大神解释一下
实际上是赋值复合运算。a是初始赋值,但是也是变量 从右往左做赋值运算 a(被赋值)=a*a(初始值)a(再次被赋值)=a(初始值)-a(上一赋值)a(最后被赋值)=a(初始值)+a(上一赋值)

a-=2+b 是什么意思 c语言
分开来解释就是:a = a - (2 + b);

c语言a-=2
a-=2是简化写法,完整的是a=a-2; a = 10,执行完a-=2;之后就相当于a=10-2; 那么a就是8了

c语言中a-=-i怎么翻译
a-=-i等效 a=a-(-i); -=是复合运算符 这种写法对初学者可能会不习惯,但十分有利于编译处理,能提高编译效率并产生质量较高的目标代码

建阳市18477935926: C语言中,a+=a - =a*=a -
印邹生长:[答案] 优先级从右到左 先计算a*=a 再a-=a 最后a+=a

建阳市18477935926: C语言,此算术表达式如何运算?a+=a - =a*=a; -
印邹生长:[答案] c语言中,计算的顺序,大多是从右向左的. 建议你上机试一下,结果总是0; #include using namespace std; int main() { double a; cout

建阳市18477935926: 关于C 语言中运算问题 a=12 a+=a - =a*=a 怎么计算的 -
印邹生长:[答案] 很简单,赋值是从右往左操作,所以你可以把这个语句分解开:int a=12; a*=a; a-=a;//注意到这里a=a-a=0! a+=a;一目了然了吧! 所以最后a=0;

建阳市18477935926: 谁能帮我解一下关于C语言的;a+=a - =a*a结果等于几?白全过程写出来, -
印邹生长:[答案] 若a=5,计算a+=a-=a*a时,先算 a-=a*a 即 a=a-a*a =5-5*5 =-20 再算a+=-20 即 a=a+(-20) =(-20)+(-20) =-40

建阳市18477935926: C语言中的一个表达式a+=a - =a*=a是如何运算的?请高手来指教指教..谢谢 -
印邹生长: a+=a-=a*=a //先算a*=a,即a=a*a=12*12=144 a+=(a-=144) //再算a-=144,即a=a-144=144-144=0 a+=0 a=a+0=0+0=0 ---------> a最后的值是:0

建阳市18477935926: c语言中a+=a - =a*a;这个表达式怎么算的答案 -
印邹生长: int a=5; a*a=25; a-=a*a; a=a-a*a; 表达式a-=a*a的值是5-25=-20; 此时 a+=a-=a*a等价于 a=a+(-20); 所以表达式的值是 -15

建阳市18477935926: C语言中一条很简单的问题int a = 3 执行 a += a- = a * a a的值等于多少 具体讲下怎样执行的-
印邹生长:[答案] 好 int a = 3 a += a -= a * a 从后往前执行 知道吧! a -= a * a 就是 a=a-a*a a=3-3*3=3-9=-6 a+=a 就是 a=a+a a=-6+-6=-12 欢迎采纳! 来个截图 !

建阳市18477935926: c语言中a+=a - =a*a怎么运行 -
印邹生长: 赋值是从右到左运行. 先计算a*a=9,此时a=3,没变. 然后计算a-=9,此时a=-6,a值改变. 最后计算a+=-6,a=-12.a的最终值为-12. 更多的详细资料请参考运算符的优先级进行推理:

建阳市18477935926: C语言解答 a+=a - =a*a ???/ 请高手解决 谢谢~· -
印邹生长: 一般的编译器处理顺序赋值的结果应为 2(a-a*a) 自己写代码最好不这么干,以防你的编译器有个性. 看别人的代码犯晕的话,也许debug一下比较轻松. 计算机语言这玩意语法说了不算,计算机说的才是硬道理.

建阳市18477935926: C语言题,13.若a为int类型,且其值为3,则执行完表达式a+=a - =a*a后,a C语言题, 13.若a为int类型,且其值为3,则执行完表达式a+=a - =a*a后,a的值是... -
印邹生长:[选项] A. -3 B. 9 C. -12 D. 6

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网