简单理解贪心法
貪心法
上文翻譯過來就是:在c語言中,編譯器識別符號從第一個開始向后匹配,盡可能多的占有新的符號,從而保證能夠構成具有明確意義的符號。總之就是盡可能的多占用符號
解釋上面的幾個例子
示例一
示例二
這里到底是i++再加j呢?還是i加++j呢?其實也很好判斷,根據貪心規則,編譯器總是想要讀取更多的字符,所以它會一直向后讀取,并把盡可能多的字符看成一個有效字符,也就是讀取完三個加號,把前兩個看成++后一個看成加號。這里也有個簡單的驗證方法,直接按回車,編譯器會自動分好
示例三
如果我們寫五個加號,編譯器又會怎么斷呢?
很明顯,這并不是按照我們的想法去斷的。這也突出了貪心法的特點就是貪。它并不一定是正確的但它一定要讀取更多的字符,所以面對這種較長的算式,我們最好是自己斷一下
總結一下:貪心法是一種規則,并不保證一定正確,它只是盡可能的多讀取字符。從側面也可以看出空格不是只有我們原來認為的那樣讓代碼更好看(空格也有對應的ascll碼值),同時也能在我們進行操作符表示的過程中起到匹配劃分的作用
總結
- 上一篇: 阻抗匹配之你不知道的变压器阻抗匹配
- 下一篇: 辛烷值预测数据集说明