C语言题: 已知a=b=c=0;则++a||++b&&c++的值为?正确答案:1,0,0,1 要过程, 谢谢
4个回答
展开全部
a++
a=1
因为a=1
所以
|
|后面的都忽略了..所以b=0,
c=0
而且整个式子的值是1
还不懂的话可以追问
a=1
因为a=1
所以
|
|后面的都忽略了..所以b=0,
c=0
而且整个式子的值是1
还不懂的话可以追问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逻辑运算符并不是运算符两边的表达式一定都执行,就本例来说:
a
=
b
=
c
=
0;
d
=
++a||++b&&c++;
1、&&的优先级比||高,注意优先级是“结合优先级”而不是“计算优先级”。所以整个表达式可以看做++a||(++b&&c++)
2、对于一个||逻辑或来说,只要||左边的表达式为假(即0)才执行||右边的表达式(即本例中的++b&&c++),如果||左边表达式已经为真,那么会造成所谓的“短路”即||右边的表达式不再执行
3、由于++a是先++再赋值,则a=1,由于||左边表达式已经为真(非零),则短路,右边表达式不执行
4、按上面描述,答案a
=
1,
b
=
0,
c
=
0,
d
=
1
总结,&&运算符,除非该操作符左表达式为真,才执行右表达式,否则直接为假
||运算符,除非该操作符左表达式为假,才执行右表达式,否则直接为真
a
=
b
=
c
=
0;
d
=
++a||++b&&c++;
1、&&的优先级比||高,注意优先级是“结合优先级”而不是“计算优先级”。所以整个表达式可以看做++a||(++b&&c++)
2、对于一个||逻辑或来说,只要||左边的表达式为假(即0)才执行||右边的表达式(即本例中的++b&&c++),如果||左边表达式已经为真,那么会造成所谓的“短路”即||右边的表达式不再执行
3、由于++a是先++再赋值,则a=1,由于||左边表达式已经为真(非零),则短路,右边表达式不执行
4、按上面描述,答案a
=
1,
b
=
0,
c
=
0,
d
=
1
总结,&&运算符,除非该操作符左表达式为真,才执行右表达式,否则直接为假
||运算符,除非该操作符左表达式为假,才执行右表达式,否则直接为真
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c=0;
b=c;
a=b;
c=c++(c=0)用过后为c=1;
b=++b(b=1)用过后为b=0;
++b&&c++=0(1&&0为假值为0)
a=++a(a=1)用过后为a=0;
0||0为真值为1.
表达式值为1,a=0,b=0,c=1.
b=c;
a=b;
c=c++(c=0)用过后为c=1;
b=++b(b=1)用过后为b=0;
++b&&c++=0(1&&0为假值为0)
a=++a(a=1)用过后为a=0;
0||0为真值为1.
表达式值为1,a=0,b=0,c=1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b
是实数,回答个。解得
a^2-4*a^2+12>=0好多年没回答过问题了:
c=-a-b
代入
后面式子
得到
a^2+a*b+b^2=3,即
b^2+b*a+a^2-3=0,把这个看做是
关于
b
的一个方程,即方程的
δ
要大于等于0
是实数,回答个。解得
a^2-4*a^2+12>=0好多年没回答过问题了:
c=-a-b
代入
后面式子
得到
a^2+a*b+b^2=3,即
b^2+b*a+a^2-3=0,把这个看做是
关于
b
的一个方程,即方程的
δ
要大于等于0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询