有幾點關於C語言的疑問
最近在讀李春葆教授的《新編C語言習題與解析》,遇到的問題還真是不少。在此求教!
1.這本書的24頁第20題和21題有些自相矛盾。 這裡有兩個表示式:d=9+e,e++,d+9;(來自20題) int num=7,sum=7;sum=num++,sum++,num++;(來自21題) 關鍵是,李老師在20題裡說這種表示式是錯的(沒說原因),而在21題卻說是可以這樣表達的。 不知道為什麼?
2.第10頁提示裡面,“變數宣告”寫成了“變理宣告”。應該是列印錯誤吧。
3.第27頁第40題。
設x,y,t均為int型變數,則執行語句x=y=3;t++x||++y;後,y的值是多少。
我是這樣想的:
邏輯或運算||這種雙目運算子的優先順序低於自加運算++這種單目運算子。所以先計算++x與++y,x與y都返回4,4與4進行或運算,返回真也就是1,所以y應該返回1。
但是李老師的答案是這樣的:
在語句t++x||++y;上,++x返回4不為假,故不會執行++y。結果是3.
我嘗試思考這個答案:
或許是前一個子式為真,由於是邏輯或運算,那麼就不用執行後一個子式了。但是反過來一想,後面整體還是一個邏輯式,總要返回0或1.就算或運算直接不執行,那麼3又是哪裡來的呢?子式++x應該是先加1後返回x,那麼t就真的不知是繼承誰的值了。
相關文章
- Mybatis【2.2】-- Mybatis關於建立SqlSession原始碼分析的幾點疑問?MyBatisSQLSession原始碼
- 關於C語言的常量C語言
- C語言的幾個關鍵字C語言
- 關於Ruby的語言特點
- 關於大數(C語言)C語言
- 關於C語言的位運算子C語言
- 關於 dingo API 的疑問GoAPI
- C語言初學者最常問的幾個問題C語言
- [20190312]關於增量檢查點的疑問(補充).txt
- C語言關於多原始檔的呼叫C語言
- 幾乎無所不能的C++程式語言,網友:確實有點6C++
- 關於C++中建構函式的常見疑問C++函式
- C語言有關函式淺析C語言函式
- 1.C語言有關的小學習C語言
- C語言關於標頭檔案的使用C語言
- 關於c語言輸入字串的總結C語言字串
- c語言關於陣列的簡單運算C語言陣列
- 孔乙己的疑問:單例模式有幾種寫法單例模式
- 天天灌水,來寫點關於程式語言的思考。
- 39.C語言陣列學習的有關整理C語言陣列
- 關於c語言單項鍊表尾新增C語言
- 關於LCA的幾點想法
- 有關JavaScript事件迴圈的若干疑問探究JavaScript事件
- C語言學習的幾個階段C語言
- 關於ASP程式中常見的幾種指令碼語言介紹指令碼
- MySQL關於資料字典的一個疑問MySql
- 高階語言實現的幾個點
- Python語言的特點有哪些?Python
- 最近關於工作的幾點思考
- 關於大語言模型時代下自學的一點想法模型
- 關於Python程式語言不得不說的優缺點!Python
- java語言相關的問題Java
- [20201207]關於ORACLE IMU的一些疑問.txtOracle
- 關於租用香港伺服器疑問解答伺服器
- 關於租用香港伺服器疑問解答。伺服器
- 關於租用香港伺服器疑問解答?伺服器
- c語言static關鍵字的理解C語言
- 關於String內的indexOf方法的一些疑問Index
- 主元素問題(C語言)C語言