www问答网
所有问题
C语言中,int a=3,b=0; !a&&a+b&&a++; 中,!a具体定义是什么?为什么得出来是0?
如题所述
举报该问题
推荐答案 2012-12-02
! 是非运算, 参
与运算
的量是真,结果为假 ,参与运算的量为假,结果为真
C语言规定 1为真, 0为假 , 但对于变量,非零即为真,0为假 所以 a=3 ,!a表示假
!a&&a+b&&a++; 这个整体是与运算, 有一个为假 ,整个结果就为假
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/G5Kd5544d.html
其他回答
第1个回答 2012-12-02
“!”在C语言中是逻辑非的意思,即为0或者是非0,题中a=3,所以!a就是0了
相似回答
C语言中&&!是什么
意思
答:
1.运算符性质不同。&是一个位运算符。
&&是
一个逻辑运算符。2.作用不同。&是将两个二进制的数逐位相与,结果是相与之后的结果。&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。3.用途限制。&除了是一个位运算符,也是取地址符。&&就是一个单...
若已
定义
:
int
a=0,b=3;
表达式
!a&&
!b的值为
答:
a=0,a==0
为真;b
=3,b==0
为假,表达式为假,值为0
!a&&
!b的值是0
int
a=b=c=0;
a++&&b++
||c
++;
求 a
,b,c
最好有 过程分析
答:
这时a变成1了,但是a++表达式的结果是0。因此根据“&&”的短路径求值原则,(
a++&&b
++)中的表达式b++不会求值,即b仍然
是0,
表达式(a++&&b++)结果为逻辑假。最后,根据“||”多路径求值原则,左边表达式逻辑假,故而对表达式c++求值,故而c的值变成1。最终结果是:a=1
,b=0,c
=1....
c语言
问题
a=
2
,b=0;
那么
!a&&b
怎么看(
为什么
我觉得是1,而答案
是0
)
答:
int
a=
2
,b=0;!a&&b
首先运算:
!a =
false = 0 && b=0 结果就
是0;
因为单目运算符!的优先级高于
&&,
所以先运算 !a = false 就短路了,其实这道题目无论如何都会有0的 ,因为关系运算符是 && 都为真是也是1 ,而现在b已经是0了,所以结果也为0 ...
C语言
填空题,初学者真的学不懂了?
答:
你好,真取反为假
,C语言中
非零为真 所以第一题:0 1 && 表示逻辑与 ,有一个为假则为假;||表示逻辑或,有一个真则为真 所以第二题:0 1 ||逻辑或,前面的条件为真,则不执行后面的语句 所以第三题:-1 2 1 ?:表示三目运算符;条件一?条件二:条件三;如果条件一位...
C语言中
设
int
a = 3,
0&&
(
++a
),请问a值是多少?
答:
在计算的时候,当‘&&’运算前半部分判断为FALSE时,不会执行后半部分,因此(
++a
)不执行,a不变;‘||’同理,当前半部分判断为TRUE时,不会执行后半部分。虽然++优先级更高,但应该是需要时才进行计算。
c语言中!
((a<
b
)
&&!
c||1)值
为什么是0
答:
!的后面加了括号,优先级更高,所以先看括号里。因为&&比||优先级高,所以&&两边就是整体了,可以先把它省略掉来看 !(...||1)||的返回值是“有真则真,都假为假”,而右边1为真,所以!(...||1)等价于 !1 !是非运算符,把后面的1反转成0,所以最后结果是0 ...
C语言中
int
a=
0
,b=0,
c
=0;
if(
a&&++b
) c
++;
printf("%d,%d\n"
,b,
c...
答:
因为
a=0
所以&&右边的就被短路了,不被执行, 所以最后a
, b,
c
的值都不变,都为0
C语言
题目求解
答:
31、设i为
int
型变量,且初值是3,则表达式“i++-3”的值是___0___。32、设 int
a=3,b=
5,c=7;,则表达式a>c||c>
b!=0&&c
==
b+a
的值为_0__。优先级问题 先算a>c 为0 然后 c>b为1 之后c==b+a为0 后c>b!=0即1!=0为1 之后c>b!=0&&c==b+a 即1
&&0
为0,之后...
大家正在搜
int a=0,b=0,c=0
int a=3,b=4,c=5
int a=3,b=2,c=1
c语言中的int
c语言long int
int a=b=0
int a=b=c=5
c语言 int范围
c语言int转char
相关问题
C语言中设int a = 3, 0&&(++a),请问a值是...
c语言里int a=5,b;b=a>3&&0,a++;什么意...
c语言中a&&b+c||b-c是什么意思
如果有"int a=5,b=3;"那么在执行“!a&&b++...
C语言中逻辑表达式中a=2,b=3.(a+b)&&(a*b)...
C语言中,a=3,b=4,c=5; a||b+c&&b-c怎...
C语言上的问题 !(a+b)+c-1&&b+c/2的值 a=...
在c语言中for(a=0,b=0;A<=3&&b<=5&&1...