1楼:我爱罗jf婚挿
这个主要是考你对c++中运算符的优先级。看与和前++,后++谁的优先级高。 优先口决 括号成员第一; //括号运算符() 成员运算符.
-> 全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; //这个"余"是指取余运算即% 移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等 等于(与)不等排第七; //即== !
= 位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|) "三分天下"**十; 逻辑或跟与; //逻辑运算符:|| 和 && 十二和十一; //注意顺序:
优先级(||) 底于 优先级(&&) 条件高于赋值, //三目运算符优先级排到 13 位只比赋值运算符和","高//需要注意的是赋值运算符很多! 逗号运算级最低! //逗号运算符优先级最低 由于c语言的运算符优先级与c++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于c++.
但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握c++的优先级的!
c语言里a++&&(b+=a)|| ++c什么意思
2楼:
a++表示先用a的值在自增1,
b+=a表示b=a+b(这里的a是用a没有自增时候的值)++c表示c自增1后才能用c的值
&&表示与(和)
||表示或者
3楼:匿名用户
其实这个就是(a++&&(b+=a))||( ++c)的意思。
即:(a++为真并且b=b+a为真)或者(++c为真)则为真,否则为假
已知a=1,b=2,c=3,则表达式a*b&&(b++,!c)&&(a++,c++)的值是。该表达式运算过后,a=? ,b=? ,c=? 5
4楼:听不清啊
该表达式运算过后,a=1 ,b=3 ,c=3因为 1*2的值非0,被认为是“真”
&&后面继续计算:b++,!c
是一个逗号表达式,b变成了3,!c的值为0(因为c原值为非0,即“真”,取反后即为“假”),所以逗号表达式的值为“假”。
整个表达式的值已经确定,为“假”,后面总分不再运算。
所以,a=1 ,b=3 ,c=3
5楼:匿名用户
首先得知道&&进行的是短路运算,如果运算符的左边经计算后结果为假,则不会再计算右边。
因a*b=2为真,接着计算(b++,!c),而(b++,!c)是一个逗号表达式,逗号表达式按从左往右计算,整个表达式的结果为最右边那个表达式的结果。
所以,(b++,!c)经计算后为(2,0),逗号表达式的值是0,同时b为3,而a*b&&(b++,!c)&&(a++,c++)=2&&0&&(a++,c++)已为假,不会再计算(a++,c++),因此,结果是表达式a*b&&(b++,!
c)&&(a++,c++)的值是0,该表达式运算过后,a=1,b=3,c=3。
6楼:三天打鱼
看结果就知道了 执行了第一个括号之后就返回了 后面的括号没有执行
第一个括号最后一个值是!c c逻辑取反运算 c是3 取反后是0 然后逗号表达式返回最后一个值 返回了0 前面的&&遇到0就直接返回结果了
7楼:
根据运算符的优先级,表达式等价于
(++a) || (-b) && (++c)在c/c++中 0为false,非0就是true,上面的表达式就等于true || true && true
所以最终的值就是true,如果按照整数输出,则为1
在C语言中“a b”是什么意思,c语言中,a^b是什么意思?
1楼 匿名用户 a 异或 b 按位异或 比如 a 为 5 0101 b 为 7 0111 0010 对应位相同为0, 不同为1 希望对你有帮助。谢谢 c语言中,a b是什么意思? 2楼 匿名用户 按位异或, 例如 include int main 输出结果是8 1010 10 0010 2 1000...
C语言a b和a b的区别,C语言,++a+b和++b+a有什么区别
1楼 匿名用户 自增对象不同 a b 最后自增的是b a b 最后自增的a b c语言, a b和 b a有什么区别 2楼 珑月三 a b是先a加1,然后再加b b a是先b 1,然后再加a 3楼 亱風 a b是a先自加然后加b b a是b自加,,然后加a 结果一样,但是a 和b的值不相同 c语言b...
c语言中int a 1,b 2,c c 1.0 b a输出结果为什么
1楼 匿名用户 结果是c的值是0 因为1 0 b 都会转换位浮点型,结果是0 5 0 5 a 也是会把a转为浮点型,结果是0 5 而c是整形,会对右边运算的结果取整,所结果就是0了。 假如 int a 1 b 2 c 3 表达式a b c的值是1还是0 为什么? 2楼 岔路程序缘 在c语言中,1代表...