a+=a-=a*a怎么计算啊
6个回答
展开全部
a+=a-=a*a是一个连续赋值运算,计算顺序是自右至左的。
如果int a=2;
a+=a-=a*a;
相当于:
1.a-=a*a;
2.a+=a;
然后相当于:
1.a=a-a*a;
2.a=a+a;
由于a初始化为2:
1.a=a-a*a=2-2*2=-2;
2.a=a+a=-2+(-2)==-4;
所以最后结果就是-4。
扩展资料
C语言中提供常用赋值运算符:等号运算符。
1.计算赋值运算符右侧表达式的值。(“=”为赋值运算符)
2.将赋值运算符右侧表达式的值赋给左侧的变量。
3.将赋值运算符左侧的变量的值作为表达式的值。
赋值表达式是类似这样的句子:a=5 注意后边没有分号, a=5; 这就是一个赋值语句了。
赋值表达式的结果是最左边的赋值运算符(最左边的等号)左边的变量(或者表达式)的值。
赋值运算符的优先级和结合性
1.优先级较低,只比逗号运算符高。
2.从右向左结合。
例如:x=y=3 就相当于 x=(y=3) 结果都为3
展开全部
你可以将表达式进行拆分,运算顺序是从右往左
a+=a-=a*a
转换成
a=a+(a-=a*a)
再进一步转换成
a=a+(a=a-a*a)
在按照优先级进行拆分,先算括号中的
a=a-a*a;
a=a+a;
验证类如下:
public class Test {
public static void main(String[] args)
{
int a = 4;
a+=a-=a*a;
System.out.println(a);
}
}
按照上面的分析,结果应该是
a=4-4*4;
a=4-12;
输出为-8
实际运行结果就是-8
a+=a-=a*a
转换成
a=a+(a-=a*a)
再进一步转换成
a=a+(a=a-a*a)
在按照优先级进行拆分,先算括号中的
a=a-a*a;
a=a+a;
验证类如下:
public class Test {
public static void main(String[] args)
{
int a = 4;
a+=a-=a*a;
System.out.println(a);
}
}
按照上面的分析,结果应该是
a=4-4*4;
a=4-12;
输出为-8
实际运行结果就是-8
追问
谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用lionheart1988的回答:
你可以将表达式进行拆分,运算顺序是从右往左
a+=a-=a*a
转换成
a=a+(a-=a*a)
再进一步转换成
a=a+(a=a-a*a)
在按照优先级进行拆分,先算括号中的
a=a-a*a;
a=a+a;
验证类如下:
public class Test {
public static void main(String[] args)
{
int a = 4;
a+=a-=a*a;
System.out.println(a);
}
}
按照上面的分析,结果应该是
a=4-4*4;
a=4-12;
输出为-8
实际运行结果就是-8
你可以将表达式进行拆分,运算顺序是从右往左
a+=a-=a*a
转换成
a=a+(a-=a*a)
再进一步转换成
a=a+(a=a-a*a)
在按照优先级进行拆分,先算括号中的
a=a-a*a;
a=a+a;
验证类如下:
public class Test {
public static void main(String[] args)
{
int a = 4;
a+=a-=a*a;
System.out.println(a);
}
}
按照上面的分析,结果应该是
a=4-4*4;
a=4-12;
输出为-8
实际运行结果就是-8
展开全部
+=、-=、*三者运行顺序依次为=+>*>-=,若a=6,则结果等于-24
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用lionheart1988的回答:
你可以将表达式进行拆分,运算顺序是从右往左
a+=a-=a*a
转换成
a=a+(a-=a*a)
再进一步转换成
a=a+(a=a-a*a)
在按照优先级进行拆分,先算括号中的
a=a-a*a;
a=a+a;
验证类如下:
public class Test {
public static void main(String[] args)
{
int a = 4;
a+=a-=a*a;
System.out.println(a);
}
}
按照上面的分析,结果应该是
a=4-4*4;
a=4-12;
输出为-8
实际运行结果就是-8
你可以将表达式进行拆分,运算顺序是从右往左
a+=a-=a*a
转换成
a=a+(a-=a*a)
再进一步转换成
a=a+(a=a-a*a)
在按照优先级进行拆分,先算括号中的
a=a-a*a;
a=a+a;
验证类如下:
public class Test {
public static void main(String[] args)
{
int a = 4;
a+=a-=a*a;
System.out.println(a);
}
}
按照上面的分析,结果应该是
a=4-4*4;
a=4-12;
输出为-8
实际运行结果就是-8
展开全部
不应该是
a=a-a*a,a=4-4×4=-12
a=-12+(-12)=-24吗??
a=a-a*a,a=4-4×4=-12
a=-12+(-12)=-24吗??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询