在c语言中3=(a=b)为什么是错误的?

 我来答
星辰恋00
2023-04-14 · TA获得超过385个赞
知道小有建树答主
回答量:498
采纳率:97%
帮助的人:33万
展开全部
在C语言中,3=(a=b)是错误的表达式。这是因为在C语言中,赋值操作符`=`的返回值是被赋的那个变量的值,并不是整个赋值语句的值。
因此,在这个表达式中,首先会执行变量a等于b的赋值操作,然后将a的值作为赋值表达式的结果,尝试将这个结果赋值给数字3,实际上这是非法的,因为数字3是一个常量,不能从程序中修改它的值。
正确的写法应该是将3放在赋值号左边,例如:
```
a = b;
3 = a; // 错误写法,应该改成 a == b
```
这样可以将变量b的值赋给变量a,然后将变量a的值赋给数字3。如果要比较a和b是否相等,应该使用相等运算符`==`而不是赋值操作符`=`。
一颗程序猿o_0
2023-04-06 · TA获得超过6296个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1306万
展开全部
3是个常量,不能作为左值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式