不合法
> 操作符的级别比 = 要高
所以上边的表达式就相当于
a = (3>b) = 5
= 操作符是从右到左结合的,所以先执行的是 (3>b) = 5;
3>b 的结果不能做为一个左值,所以赋值是非法的
这个表达式编译会报错。
是一个合法的表达式 不过身为程序员 绝对不要写这样的代码 会被人骂死的 学校里的老师要是还教这样的内容 那老师本身就是个杯具
不是的,我编了程序实验错的
代码:
#include
void main()
{
int a,b;
a=3>b=5;
}
报错:c:\windows\system32\1.c(5) : error C2106: '=' : left operand must be l-value
意思就是说不能这样赋值进行比较。
你想知道表达式是否合法可以自己写一个小程序试试,机器是最灵的
是
就是:(a=3)>(b=5)结果是false