[英]Why unary operators not allowed in compound assignments?
我知道a!= b或a〜= b等,盡管允許a =!b或a =〜b,但是C中不允許使用復合賦值。 只是好奇為什么語言是這樣設計的? 任何特定的技術原因? 在最新的編譯器中提供了這種支持嗎? C的這種局限性(至少我認為這是一種局限性)使初學者的語言變得復雜。 這使我們能夠真正記住C中的某些此類功能。
定義!=
和~=
可能會引起不必要的混亂,因為某些令牌可以是由上下文確定的一元運算符或二進制運算符。 例如:a- a -= b
是什么意思, a = a - b
或a = -b
什么意思?
無論如何,您不需要它們。 a = !b
和a = ~b
不會引起更多的鍵入,並且很容易理解。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.