我知道在C中不允许a!=b或a~=b等复合赋值,但允许使用a=!b或a=~b。只是好奇为什么语言被设计成这样?有什么具体的技术原因吗?在最新的编译器中提供了这样的支持?C的这些限制(至少我觉得它是一个限制)使初学者的语言变得复杂。这使得我们能够牢记C语言中的一些这样的特性。
发布于 2016-04-09 13:34:34
定义!=和~=可能会引起不必要的混淆,因为某些标记可以是一元运算符,也可以是二元运算符,具体取决于上下文。例如:a = a - b或a = -b,a -= b是什么意思?
不管怎样,你不需要它们。a = !b和a = ~b不会导致更多的输入,并且非常容易理解。
https://stackoverflow.com/questions/36512416
复制相似问题