今天面試C++,機試面試官看完代碼說代碼結構混亂?
01-27
寫的少而已。踏實的看書做題吧。另外,彆氣餒,面試官的話別放心上。山外山高,人上人寡。
還可以吧,因為你是轉行過來的,基礎可能差點,面試官可能忽視了你這一點。多看,多寫,多思考,就好啦,設計啊,結構啊,這玩意,不用代碼磨鍊出來光靠看點書是沒用的。
本人java工程師,略會C++.重點噴一下你滴代碼風格實在是稚嫩啊!有時間看看優秀滴開源框架找找感覺吧...註:大部分的人看代碼風格就能看出他滴能力...
為什麼不用枚舉+functor
變數命名不是很科學,單個函數內代碼太多,且代碼層次不清晰,推測題主編程經驗大概一到兩年
還是多寫吧,刷刷leetcode什麼的至於手寫解釋器什麼的,我覺得如果不是相關崗位的高級面試題的話,沒有必要寫那麼高端這種題目,用parser逼格才高,才漂亮
編程小白轉IT居然敢一開始就申請C++的崗位啊,厲害。
從你的描述來看是三道題,自由發揮空間很大。
小白不請自來...題主可以參考一下the c programming language這本書的4.3節及後面幾節,講解了逆波蘭演算法和堆棧思想搞定簡單的計算器程序,不過書中程序並沒有指針,僅作為參考(雖然我覺得可能面試官也是從這本書裡面找的)
呃,首先我也很菜啊,但是要說你結構混亂嘛。。。貌似也沒錯。。。
c++標準的變化與改進越來越凸顯其作為一門高級語言的特性,而且試圖慢慢與c劃清界限,所以你這個幾乎是過程化編程,確實有些尷尬。就算你不寫一個類,多寫幾個功能函數也算是很自然的使用函數指針了。而且你這樣數與運算符分開輸入,感覺確實有些降低難度啊。。。本來不太明白數組用指針遍歷是幹嘛的,不過看到別人說棧,倒是覺得挺合理,雖然有人覺得那是編譯原理裡面的內容,但是事實上,數學表達式的計算,是課本上對於棧的一個應用的介紹,對於考研還算是個考點了,把它作為機試考點我覺得再正常不過了。剛打算髮布,突然想到三個題更簡單的組合了。。。就用你這個簡單版的輸入,只不過在運算那裡玩一下下,畢竟函數指針的指針也是二維指針嘛,用個數組把函數指針存起來,然後加減乘除各一個函數,不用下標訪問函數指針數組,直接首地址+ 0123 再解引用就可以了,這樣寫起來估計30行不到hhh題目有給輸入和輸出樣例了嗎?
我想,按照要求,寫一個簡單的計算機實現加減乘除,怎麼也不可能是給一個first number 給一個second number再讓你選擇一個運算然後計算結果吧?考慮的有點太簡單了,要是用戶還有輸入該怎麼計算?所以,應該是用戶輸入一個四則運算式子,然後對該式子分析。利用棧的「LIFO」特性,將中綴表達式轉為後綴表達式,之後剛好通過後綴表達式去計算四則運算式子
是很混亂啊。。。
vc2012不會是_tmain717.cpp 說明這是一道書上的練習題,不是面試機考。題主是要幹啥?
一般一個函數長度超過一個屏幕,就說明多少組織的不好。
他們說那麼多什麼堆棧,歸約的,我覺得主考官,就是覺得,你出現那麼多個if else,必然別人就很難讀懂了,想讓人讀懂就變成switch就好很多。而且要加標註啊。你這用法我感覺你是不是當時上機的時候上網查別人的代碼了。
推薦閱讀:
※C++primer中一個疑似錯誤?
※初學者學c++應該做什麼準備?
※如何評價C++primer中文版(第五版)的翻譯?
※應該以什麼心態和標準來學《 c++primer 》和 c++ ?
※我在cpp里寫一段中文字元串常量,它是什麼編碼的?
TAG:C |
分頁阅读: 1 2