簡體   English   中英

你知道一個心理設備或技巧來學習運算符優先級和關聯性嗎?

[英]Do you know a mental device or trick to learn operator precedence and associativity?

這是與我的侄子朋友的對話,他是來自大學的家。 就個人而言,除了最常用的那些之外,我從未發現它非常重要,只是使用括號。 但我不必參加他的考試。 有什么聰明的嗎?

編輯嘛,這是一個幾乎一致的SO! 如果只有教授聽了。

我知道這可能對你的考試沒有幫助,但是我會為其他可能偶然發現這個問題的人回答這個問題:

除了“常見情況”,例如算術之外,不要試圖記住運算符優先級。 如果您的陳述不清楚,可將其拆分為多個陳述或折疊在括號中。

鑒於有16個級別的優先級,我認為沒有一個簡單的技巧來記住它們(沒有“Roy G Biv”或我知道的其他助記符)。

IMO,要記住的重要事項是postfix>一元(即*p++ == *(p++) ),一元>算術( ~a+b == (~a)+b ),按位>邏輯( a|b&&c = = (a|b)&&c) ),條件,賦值和逗號運算符按順序組成底部3( a=b,c == (a=b),c )。

這就是發明參考手冊的原因。 當然,這在考試期間沒有幫助。

我要記住的操作符優先級(除了算術,與紙上的算術相同)是一元運算符始終具有優先權。 除此之外,我查閱並使用括號,正如史蒂文所暗示的那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM