c语言中!((a<b)&&!c||1)值为什么是0 10
5个回答
展开全部
这个问题涉及到运算符的优先级问题,优先级: !>&&>||
((a<b)&&!c||1)的值必为真,你的问题中(a<b)&&!c为假为真无所谓了(和a、b、c的值相当于没有关系),因为后面有个: ||1。
因此((a<b)&&!c||1)的值必为真(我们先当1处理),而!((a<b)&&!c||1)则为假,假在C语言中用0表示。所以!((a<b)&&!c||1)值是0
看看下面的程序,输出结果就是0
#include<iostream>
using namespace std;
int main(){
int a,b,c;
cout<<!((a<b)&&!c||1)<<endl;
system("pause");
return 0;}
((a<b)&&!c||1)的值必为真,你的问题中(a<b)&&!c为假为真无所谓了(和a、b、c的值相当于没有关系),因为后面有个: ||1。
因此((a<b)&&!c||1)的值必为真(我们先当1处理),而!((a<b)&&!c||1)则为假,假在C语言中用0表示。所以!((a<b)&&!c||1)值是0
看看下面的程序,输出结果就是0
#include<iostream>
using namespace std;
int main(){
int a,b,c;
cout<<!((a<b)&&!c||1)<<endl;
system("pause");
return 0;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将(a<b)&&!c看成一个整体x,因为后面是或1,只要x与1有一个为真则((a<b)&&!c||1)为真,又1代表真、0代表假所以((a<b)&&!c||1)为真即为1,非运算后即为假,是0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
优先级问题,(a<b)&&!c||1中,“||”的优先级最低,所以任何数||1为1,前面再加个!,就是!1,就是0啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要给出a、b、c是什么,大家才能回答啊!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询