在C语言中,(m=n= =b)|| (n=c= =d)是什么意思啊??

如题所述

这是个运算符优先级的问题
==的优先级大于=,这段代码可以翻译为
m=(n==b);
解释为:如果n等于b,那么m等于true(即1);否则m等于false(即0);
n=c==d也是这个意思
连接起来就是
如果m等于1或者n等于1,这个表达式的值为1,否则为0;
或者这样解释
如果n等于b或者c等于d,这个表达式的值为1,否则为0;
二者是一个意思。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-27
(m=n= =b)|| (n=c= =d)
就是把(n=b)这个表达式的值(0或1)赋给m,然后(c=d)的值赋给n,
(注意,以上两条式子是数学表达式而不是c语言代码!)
最后让这两个值逻辑或(不是位或!就是1||99仍然为1)
第2个回答  2011-06-27
m= n==b n与b是否相等的判断结果赋值给m
(n=c= =d) c与d是否相等的判断结果赋值给n
最后m与n 或||一下... 得到最后的逻辑值
第3个回答  2011-06-27
m=n;n=b或n=c;c=d(b,d为常量)
程度执行结果为(从左往右)最先附值的那个

在C语言中,(m=n= =b)|| (n=c= =d)是什么意思啊??
解释为:如果n等于b,那么m等于true(即1);否则m等于false(即0);n=c==d也是这个意思 连接起来就是 如果m等于1或者n等于1,这个表达式的值为1,否则为0;或者这样解释 如果n等于b或者c等于d,这个表达式的值为1,否则为0;二者是一个意思。

在C语言中设m,n,a,b,c,d均为0执行(m=a==b)||(n=c==d)后m,n的值和...
b;既返回的值赋值给的了m,m的值就为1了。“||”运行左右操作数的“或”运算,既判断 (m = a == b)、(n =c == d),两个操作的结果中是否有一,按照c的运算规则,如果“||”前一个运算的值为1,那么就不进行后一步的运算。那么n =c == d;就不会被执行,所以结果是m = 1,n =...

C语言:设abcd均为0执行(m=a==b)&&(n=c!=d)后 m n的值为
故执行 (m=a=b)&&(n=c!=d)的顺序是:逻辑与(&&)运算符优先左边括号内的表达式(m=a=b),然后是右边括号内的表达式(n=c!=d)接下来看左括号,然后=(赋值)优先级低,先算a=b得到真赋值给m,m=1,然后整个括号内表达式为1;因为1 and 任意值 都为真!因此要继续看右边,c!=d为假,...

C语言运算问题
补充问题1:(m=a==b)||(n=c==d) 注意:A||B 这个表达式 当A为1时,即表达式为真 不会再进行B的运算,只有当A=0时 才会进行B的运算,你可以试试将题目中a的初始值设为1 那么 就会执行到n=c==d 这 ,n就会被赋值了; && 与 也是一样的运算顺序 问题2:同上的道理 , A && B...

在c语言中,a=(m=a>b)&&(n=c<d);是什么意思
a=(m=a>b)&&(n=c>d)表示将条件(m=a>b)与条件(n=c>d)进行逻辑与运算后,将结果赋值给变量a。具体执行过程可以通过如下实例来说明:int a=1, b=2, c=4, d=3;int m, n;a=(m=a>b)&&(n=c>d); \/\/ 先计算(m=a>b),由于a>b为假,所以m=0;\/\/ 再计算(n=c>d),...

c语言中|=是什么意思
在C语言中,|=是一个特殊的运算符,它代表位或赋值(Bitwise OR Assignment)。这个运算符主要用于位操作,它将左侧的变量与右侧的值进行位或运算,然后将结果赋值给左侧的变量。位运算符在C语言中用于处理二进制数据,其中"&"(位与)、"|"(位或)、"^(异或)"都是常见的位运算符。逻辑运算与位...

C语言程序中!=是什么意思?
没有逻辑值、只能默认为0为逻辑假、除此之外的值都当做1、作为逻辑真等等。那么在c语言中,!=表示的是其中的一个关系类型运算符,意思是不等于,也就是判断这个符号两边的等式是不是满足这个符号的含义,若满足则表达式的结果为真,否则表达式的结果为假。一般用在表示判断的条件中。

{m=n;n=r;r=m;}在c语言中是什么意思
n+1中的n指的是每工作1年支付1个月工资的经济补偿。所谓的+1,是指用人单位解除劳动合同但是未提前30天书面通知劳动者时,额外支付的1个月工资。

C程序中“==”是什么意思?
您好,很高兴回答您的问题。在c语言中,=表示赋值,==表示关系运算中的等于,用来判断这个符号两边的结果是不是相等,若是完全相等的,那么这个式子的结果就是这么逻辑真,否则式子的结果就为逻辑假。您给的题目中1234\/3*3 按照运算规则,先算1234\/3=411,因为c语言规定整数除以整数,结果只能为整数。

这个c程序中m怎么等于0,n怎么等于2啊
关键是这句:(m=a>b)&&(n=c>d);这本身是个逻辑表达式,所以先计算左边括号中的表达式的值,即m = a > b。因为逻辑运算符>的优先级高于赋值运算符=,所以先求a > b的值。而a = 5, b = 7,所以a > b不成立,逻辑运算结果为0,再把0赋值给m。所以m的值会是零,而且整个表达式(m ...

相似回答