java A=B B=C A一定等于c,这句话对不对?
A=B B=C A一定等于c,这句话对不对?
别怪我的话,前面是大写C,后面是小写C,绝对不相等。在数学公式方面,请注意精确性。在现实生活中,这个公式不一定是等价的。许多未知的特殊性会影响平衡。
C语言中,a=b=c,a=b==c,a==(b=c),a==(b==c)有什么区别?
“=”是赋值运算符,它将C的值赋给B和A。最后,A、B和C的值都相等。“=”是判断运算符,结果是bool类型(结果只有0和1,只有对和错)。第二,比较B和C是否相等,然后给a赋值,我就不多说了。你自己应该能够理解别人。
C语言中,a=b=c,a=b==c,a==(b=c),a==(b==c)有什么区别?
C语言与其语言区域赋值运算符和相等运算符相同。C语言area=assignment==equal操作表示a=b=C。表达式运行后,为b和C赋值,ABC值相等。A=b==C。对于复合表达式,首先为b赋值。如果等于C,则返回0,否则返回非零值。A==(b=C)对于复合表达式,如果等于A和C,则返回0,否则返回非零值A==(b==C),复合表达式先比较b和C,然后返回0,否则返回非零值。比较a和(b==C)返回值(注意在出错前比较a和b或C,希望LZ注意)看C区域=follow==虽然新手很麻烦,容易出错,但他熟悉心理赋值语句。他喜欢PS:LZ程序风格,习惯引用stdio。H.他想修改我的程序:include<stdio。H>intmain(){inta=1,B=2,C=3print F(%d%d%d%d%dn”,a=B=C,a=B==C,a==(B=C),a==(B==C))return0}运行结果:3,0,0,0
首先,因为“=”符号的优先级高于“=”,B==C首先执行,显然B和其他2,C和其他3不相等,所以它是0(逻辑运算,当B不等于C时,这个方程的值为假,即0),然后执行a=0,0的值被分配给a。
1。赋值语句本身是一个表达式,有一个返回值。它的返回值是分配给变量的值。例如,B=1将1赋给B,但它也是一个表达式。此表达式的返回值为1。
2. 赋值语句首先计算等号右边的值,然后将右边的值赋给左边的变量
3。分析a=b=C,根据赋值语句的操作方式,计算右边的表达式,即b=C。
4. 右边的表达式B=C是赋值语句。首先,赋值B,B=1,然后返回这个表达式的值,即1。
5. 将1赋给a并返回a=1的值,即1。因为代码不使用这个表达式的返回值,所以它被丢弃。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。