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

答案是8,关键是看懂表达式a>b?a++:b++的意义 这个表达式就等于ifa>b,a=a+1,else,b=b+1 然后答案就变得很简单了5大于2 所以a 的值加1 记者吧a和b相加 得结果8

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

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

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

false,也可以说是0

(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

在TC和VC下都能编译通过,而且输出为10 a=(b=4)+(c=6); ()优先级最高,所以先处理()里面的表达式,这样b=4,c=6,a=4+6. 如果不加(),那么a=b+4+c=6将是错误的赋值语句,因为+优先=,所以先处理b+4+c,这样等号左边出现常量4是非法的。

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同理

D: a

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