tzkr.net
当前位置:首页 >> C++: 表达式(x=4*5,x*5),x+25的值是啥,怎么计算 >>

C++: 表达式(x=4*5,x*5),x+25的值是啥,怎么计算

逗号表达式,从左往右计算,先算第一个,x=20,再算x*5,但是没有改变x的值,再算x+25,还是没有改变x的值,所以x最终还是20..如果有a=(x=4*5,x*5),x+25;那么a的值将是后面式子的最后一个的计算结果,即x+25,即45

是125

你是不是觉得X*5后X应该等于100啊????先把程序看清楚 你的表达式都没有赋值,我给一个相同格式的表达式吧(注意这里的ABCD代表的是表达式) D=((A,B),C)这里的D你没有给出,A就是你的x = 4 * 5,B就是你的x * 5,C就是你的 x + 25

B因为逗号连接的表达式值为最后一个表达式的值,从左到右计算,x=4*5=20,x*5不是赋值语句x还等于20,最后20+25=45即为整个表达式的值

B正确,选B.因为x=4*5==20,然后20+25==45;逗号表达式取最右边的分表达式的值,所以是45;x*5并没有赋给x,没有影响x==20的值.

关于逗号表达式,表达式的指是最后一个的值,所以你的(x=4*5,x*5)是为100,不过x是为20的,所以x+25是为45

如楼上所述,逗号表达式先计算内括号,再计算外括号,先计算逗号前,再计算逗号后((x=4*5,x*5),x+25) 第1步算x=4*5,此时X得到赋值,X = 20第2步算x*5,值为100则内括号整个的值100,X = 20 【注意,算x*5时,并未给X重新赋值】第3步算X + 25,值为20 + 25 = 45 【并未给X重新赋值】此时逗号表达式就相当于(100,45),显然整个表达式值 = 45

输出45(x=4*5,x*5),x+25逗号表达式的结果为最后一项的值,也就是x+25,这里x的值为20(之前对x进行了赋值x=4*5),所以输出45.

是100?你有没有弄错啊,这个答案是20;首相将X赋值5,然后赋值20,最后执行20+25后X是20

如:int y;y = ((x=4*5,x*5),x+25);那y=45因为逗号表达式,其求解过程先表达式1,后表达式2.对于本题有三个部分x=4*5 x*5 x+25 是由前向后分别运算的.第一部分x=4*5得到x=20第二部分x*5 运算得到100,但没有返回,即没有对另一个变量赋值,所以运算的结果没有被接收.x+25 第三部分 ,因在第一部分X已被赋值,所以最后是45

网站首页 | 网站地图
All rights reserved Powered by www.tzkr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com