首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在复合赋值中不允许一元运算符?

问为什么在复合赋值中不允许一元运算符?
EN

Stack Overflow用户
提问于 2016-04-09 11:33:16
回答 1查看 113关注 0票数 0

我知道在C中不允许a!=b或a~=b等复合赋值,但允许使用a=!b或a=~b。只是好奇为什么语言被设计成这样?有什么具体的技术原因吗?在最新的编译器中提供了这样的支持?C的这些限制(至少我觉得它是一个限制)使初学者的语言变得复杂。这使得我们能够牢记C语言中的一些这样的特性。

EN

回答 1

Stack Overflow用户

发布于 2016-04-09 13:34:34

定义!=和~=可能会引起不必要的混淆,因为某些标记可以是一元运算符,也可以是二元运算符,具体取决于上下文。例如:a = a - b或a = -b,a -= b是什么意思?

不管怎样,你不需要它们。a = !b和a = ~b不会导致更多的输入,并且非常容易理解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36512416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档