乙個有意思的問題

2021-06-02 06:48:52 字數 511 閱讀 5878

a+++++b這個表示式如何理解?應該理解成a++ ++ +b還是a++ + ++b,還是a + ++ ++b呢?應該按第一種方式理解。

編譯的過程分為詞法解析和

語法解析兩個階段,在詞法解析階段,編譯器總是從前到後找最長的合法token。把這個表

達式從前到後解析,變數名a是乙個token,a後 面有兩個以上的+號,在c語言中乙個+號是合法的token(可以是加法運算子或正號),兩個+號也是合法的token(可以是自增運算子),根據最長匹 配原則,編譯器絕不會止步於乙個+號,而一定會把兩個+號當作乙個token。再往後解析仍然有兩個以上的+號,所以又是乙個++運算子。再往後解析只剩 乙個+號了,是加法運算子。再往後解析是變數名b。詞法解析之後進入下一階段語法解析,a是乙個表示式,表示式++還是表示式,表示式再++還是表示式,表示式再+b還是表示式,語法上沒有問題。最後編譯器會做一些基本的語義分析,這時就有問題了,++運算子要求運算元能做左值,a能做左值所以a++沒問題,但表示式a++的值只能做右值,不能再++了,

所以最終編譯器會報錯。

乙個有意思的問題

最近做乙個交通管理系統,其中有個使用者投票功能。設想是直接開發乙個自定義的控制項。完成顯示,投票,ip檢索等全部功能。然而卻遇到乙個有意思的問題。具體來說就說,因為是用radiobuttonlist顯示的資料,在用radiobuttonlist.value捕獲使用者輸入時卻發現取出的索引始終為0.即...

乙個有意思的正則

在乙個框架中偶然發現一段比較有意思的正則,到現在還沒完全搞懂,先記錄下 1 3 str string 4 第乙個引數為正則 是左右定界符,就代表每個字串都匹配 5 preg split no empty 不返回空的 6 第 個引數 代表分割多少個陣列 7 chars preg split str,1...

做乙個有意思的人

他讓耶魯大學校長理查德 萊文心甘情願花20萬美元讓他以公派的方式留學耶魯一年,並因此成為該校歷史上最年輕的 耶魯世界學者 他在全球著名的達沃斯論壇上為乙個患白血病的朋友向頂級製藥公司高管尋求幫助,並因此成為諾華全球總裁來中國一定要見的人。他24歲前已經採訪了200位世界政治 經濟 學界的頂級人士,成...