c语言为什么返回值都是0?

#include<stdio.h>main(){inta=2,b=1;printf("%d\n",!a>b);printf("%d\n",!b>a);}怎么都是0?不应该... #include <stdio.h>
main()
{
int a=2,b=1;
printf("%d\n",!a>b);
printf("%d\n",!b>a);
}

怎么都是0?不应该是0和1吗
展开
 我来答
zjfaok
2014-05-03 · TA获得超过6805个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1587万
展开全部
!a>b//解释为(!a)>b,!a为 0, b为 1,(!a)>b即0>1,为假
!b>a//解释为(!b)>a,!b为 0, a为 2,(!a)>b即0>2,为假

注意运算符优先级……

IT孤鹜
2014-05-03 · TA获得超过4197个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3541万
展开全部
单目运算符 的优先级大于双目运算符
!a !b 都为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式