44问答网
所有问题
int a=b=c=5,b+=++a&&++c>b,为啥最后都为6
int a=b=c=5,b+=++a&&++c>b,为啥最后都为6
举报该问题
推荐答案 2018-01-08
根据运算符优先级可知,原式等效于
b+=((++a)&&(++c>b))
显然的子表达式((++a)&&(++c>b))值为真(1)
所以是b+=1
所以b值最终为6
追问
你好,可以再说下这几个符号的优先级大小吗?
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/6ZWKV3YYYR6GKZ6VKV.html
相似回答
int
a,b,c;
a=
(
b=c=5,++b,b+
(
c++
))
最后
算出a
bc为
多少是
C
语言中的题...
答:
看你的代码:a=(
b=c=5,++b,b+
(
c++
)),顺序是由左向右运算,首先给
b,c
赋值,b,c均为5,然后++b,此时b的值
为6
,而c的值依然是5,接着b+(c++),先算括号中的
C++
,因此括号的整体值为5,而c的值为6,接着运算b+括号的值为11,到此整个表达式的值就为11,即a的值为11,所以输出的是...
已知
int
a=5,b=
5; 则表达式:
++a
>b?a:b-->++a?
++b
:a的值
为6
。
答:
++a
> b ? ==>
++5
>5? ==> 6>5? 显然是成立的,也就是,接下来,会执行【表达式2】,并把【表达式2】的值赋给x:a: b-->++a?
++b
:a 这时,表达式2只有一个a,也就把a的值(6)赋给x了。后面的 b-->++a?++b:a呢?将不会运行,这是c语言设计者的聪明之处,用不...
语句x = (
a = 5, b = ++a
); 运行后,x、a、b的值依次为?
答:
3.a自增过后,b被赋予运算过后的a,也就是6了。4.因为逗号表达式(括号中多个逗号的就是逗号表达式,一般最后计算)的值总是取括号中的最后一个,所以x取b的值,还是6。不信可以自己写程序试试……扩展一下,考虑下面这个表达式:
int
x,a,
b,c;
x = (
a = 5, b=a++
,
c=++a
,456,789);//...
int
a=5,b;b=
(
++a
)+(
a++
),怎么计算?
答:
b=(++a)+(a++);一个++在变量前,一个是在变量后 所以 相当于三句:
++a;b=a+a;a++
;所以
最后
b=a+a==6+
6==12;//因为a自增了一次后就用a的值,所以此时a的值是6 a==7;//再自增一次,就从6变成7
大家正在搜
int a=3,b=4,c=5
int a=3,b=2,c=1
int a=0,b=0,c=0
int a=b=c=5
a=b b=c 所以a=c
c语言a=b=c
a+b+c=1
!(a>b)&&!c||1
a
相关问题
int a,b,c;a=b=c=5;a=++b+(c--);...
C语言int a=5,b = (a++)+3 ,b=?为什么
一下能正确定义整型变量a,b和c并赋初值5的语句是:A in...
int a=5,b=4,c=3,d; d=(a>b>c); ...
main() {int a=5,b=4,c=3,d; d=(...
C++ 中int a=b=c=5;为什么是错的
c语言 int a,b=5; 是把5赋值给了a还是a与b?
int a=5,b=4,c=3,d; d=(a>b>c);这...