[Powered by Google Translate] Precendence是我們如何回答這個問題,什麼樣的操作,我們應該首先做什麼? 無論是解決數學方程或解析行計算機代碼, 有嚴格的規定,這是我們堅持的優先 讓所有的計算機,人們可以得到相同的結果。 首先,最重要的規則要記住,尤其是在錯誤的測試, 是我們始終從最裡面的括號內向外。 使用額外的括號可以是一個有用的調試策略, 但它不是好的做法弄亂你的代碼不需要括號。 花時間學習基本的運算符優先級規則。 第二個一般的規則是,當運營商有平等的先決, 你簡單地解決由左到右。 簡單的數學處理時,我們開始用括號括住 然後做乘法和除法,最後做加法和減法。 乘法和除法具有相同的優先級, 因為它們本質上執行相同的操作。 畢竟師是簡單的倒數乘以一個值。 同樣,減法是簡單地增加一個負值。 讓我們做一個實例。 的優先順序之後,我們將開始使用括號。九減1。 這將會給我們。然後我們就可以移動到除法和乘法。 我們會解決由左到右。所以10除以2。 我們這裡有5次8,而這將會給我們40。 然後,移動到下一個優先順序。 因此,我們只剩下3加40減1。 同樣只是解決左到右, 因為有相等的優先級之間的加法和減法。 我們可以說3加40是43,再減去1是42。這就是我們的答案。 有2種類型的遞減和遞增運算符; 前綴形式和後綴形式。 後綴的形式,我+ +,常用的是在for循環中, 這意味著,在表達式中使用的電流值,然後它被遞增。 因此,值將只不同的下一個使用該變量的時候。 另一方面,前綴增量或減量裝置的電流值 遞增或遞減第一,然後它被用在表達式。 讓我們舉個例子整數x。 我們將其設置等於5。 如果我們使用後綴操作符,例如x + +,X在這條線仍然是5。 如果我們將其打印出來,我們會得到的值為5。 ,但前進X1其實等於6。 所以,在此行x是等於​​6,如果我們打印出來,我們將獲得價值6。 現在,如果我們使用前綴運算符,+ +的x,x進行遞增,然後再使用該值。 因此,它是在這條線等於7。 遞增6日至7當然,如果我們將其打印出來,我們將獲得價值7。 與指針符號的最後一個的細微差別precendence,我們將看看。 解引用運算符,星型,在基本的數學運算符的優先級, 但不超過的後綴incement和遞減運算符。 這導致我們最後一個例子。 讓我們的整數x,並設置它等於7。 我們也會讓一個的指針y,它等於x的地址。 所以,當我們解引用Ÿ我們應該得到的值7。 在這行代碼中,我們有一個有點含糊不清的情況。 我們提領y首先,然後遞增值7? 我們遞增指針,然後提領它? 事實上,由於後綴遞增運算符的優先級高於 解引用運算符,我們正在試圖增加的指針y, 這將指針移動的int字節的大小。 從本質上給了我們一個在一些完全不同的點在內存中的地址, 然後我們提領。 因此,這是沒有意義的線。 如果我們確實想增加值7, 我們必須把解引用運算符與Y在括號中。 然後,我們可以增加它。 因此,儘管我們不會遞增x的值與第二到最後一行的代碼, 在代碼的最後一行,我們來日歲月,會讓你知道,解引用Ÿ 得到x的值增加,。 我們將留與x的值等於8。 下面是一個簡單的回顧一下,我們已經討論過的precendence規則。 我們先從最裡面的括號內向外的工作。 然後,我們將後綴運算符像我+ +或i - 。 然後解引用和地址的運營商,如星X或符號x, 前綴運算符,如+ + i或 - 我。 最後,我們做了簡單的數學運算,如乘,除,取模。 然後加法,減法。 這是precendence。我佐敦Jozwiak,這是CS50。 我們將取消引用和使用的地址 - 你怎麼短語? 我所做的一切。好吧。