jmfs.net
当前位置:首页>>关于c语言中.设int a=5,b=6, 写出表达式 a=a+b, a-b ...的资料>>

c语言中.设int a=5,b=6, 写出表达式 a=a+b, a-b ...

设int a=5,b=6, 表达式 a=a+b, a-b 的值为 5 。 因为逗号运算符的优先级最低。原式,等价于: (a=a+b), a-b 逗号运算的结合性是从左至右,完毕之后整个表达式的值是最后一个表达式的值。即11-6=5

这个问题不应该出现b=11,你要是有这样的代码,贴出来看看,到底出了什么问题,再作讨论。

(a=5,b=6,++a,b--,a+b)是所谓逗号表达式,它的计算规则是从左至右一个分表达式一个分表达式地计算,但总表达式的值是最右边的分表达式的值。在这里就是a+b的值,显然a+b=6+5=11。

false,也可以说是0

(a=2,b=5,b++,a+b)这个叫逗号表达式,其值为最后一个表达式a+b的值8。

(a+b)是否大于C 若大于 &&前面就为1,不大于就为0,(b==c)是否相等,若相等为1,不相等为0,a是否为0,不为零就为1 若(a+b)>C,b==c,a不等于0 则表达式可以写为 1&&1&&1 a+b=7>5成立为1 b==c不成立为0 a>0为1 结果表示为1&&0&&1

1级优先级(左结合) () 圆括号;[]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。 2级优先级(右结合) !逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀减量运算符;+正号运算符;-负号运算符;(类型)类型转换运算符;*...

我认为是17,因为这是一个逗号表达式,里面有2个逗号,3个式子!逗号表达式的值,以最后一个式子的值为值,也就是a+5。但是他是从前往后依次做算的,运算第一个式子后,a是12,运算第二个,a不变还是12,运算第三个式子,式子的结果就是17

这个涉及到C语言的单目运算符优先级与结合性的知识: 优先级: 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。 结合性: C语言中各运算符的结合性分为...

a=b=1,//a=1 b=1 c=0 a++, //a=2 b=1 c=0 b+1, //a=2 b=1 c=0 c=a+b-- //a=2 b=0 c=3 //----------------------区别(i++)和(++i)-------给你个例子 int i=1; int y=i++;// y=1 i=2 //i--同理 int i=1;int y=++i;// y=2 i=2 //--i同理

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