C语言中a=2,!a 的值是多少

或者说是!的作用是什么... 或者说是 !的作用是什么 展开
 我来答
kaixingui2012
推荐于2017-10-04 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6342万
展开全部

a=2,!a 中有三个运算符号

1、 = 赋值运算符,如:a=5 表示将5存储到a中

2、 ,  逗号运算符,逗号前后为表达式,顺序运算返回最后一个表达式的结果,如: 

while( scanf("%d", &a), a>0 ) //读一个数,且a>0时循环,并不在乎scanf()函数的运算结果  scanf("%d", &a), a>0  中,操作两个表达式,但只返回a>0的运算结果

    ....
}

3、!  非运算 符,其返回值只有两个,1或0。 C中规定, 非0为1,非(非0)为0,如: !5 == 0    ,  !0 == 1  ,  !1 == 0

结合以上,a=2,!a 的运算过程为: 

a=2

!a ==0

返回0

mafangsan
2015-05-23 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2553万
展开全部
a=2,!a的值
这个问题,主要考了两个知识点
1)表达式求值顺序
2)逗号运算符的返回值

第一步 a=2 这个就是把2赋值给a
第二步 !a 这里是not运算符,因为a==2,所以!a就是0
第三步,逗号运算符的最后一个结果就是整个逗号表达式的值

因此整个表达式的值是0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
董俊锟djk
2012-05-31 · TA获得超过2551个赞
知道小有建树答主
回答量:1231
采纳率:66%
帮助的人:1014万
展开全部
因为a=2>0, 非0的数真,0为假
!是逻辑非运算符,使原来的表达式真假对调,所以!a=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liyufeiat001
2012-05-31
知道答主
回答量:10
采纳率:0%
帮助的人:19.7万
展开全部
!a值为0,!的作用是取逻辑反,除0外所有数为逻辑真,0为逻辑假
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西文达文西
2012-05-31 · 超过11用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:16.6万
展开全部
楼上正解!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式