C语言中 a=3>b=5 请问这个是合法表达式吗?

如题
2025-01-04 06:57:09
推荐回答(4个)
回答1:

不合法
> 操作符的级别比 = 要高
所以上边的表达式就相当于
a = (3>b) = 5
= 操作符是从右到左结合的,所以先执行的是 (3>b) = 5;
3>b 的结果不能做为一个左值,所以赋值是非法的
这个表达式编译会报错。

回答2:

是一个合法的表达式 不过身为程序员 绝对不要写这样的代码 会被人骂死的 学校里的老师要是还教这样的内容 那老师本身就是个杯具

回答3:

不是的,我编了程序实验错的
代码:
#include
void main()
{
int a,b;
a=3>b=5;
}
报错:c:\windows\system32\1.c(5) : error C2106: '=' : left operand must be l-value
意思就是说不能这样赋值进行比较。
你想知道表达式是否合法可以自己写一个小程序试试,机器是最灵的

回答4:


就是:(a=3)>(b=5)结果是false