C語言規定:除非在sizeof的運算元中,常量表示式不應包含逗號運算子?
如題,這個問題在C語言標準中沒有過多的描述為什麼,據我所知,常量表示式是可以包含逗號運算子的,形如這樣的逗號常量表示式(3,2),它的值就是個常值,這個問題讓人十分迷茫,求解。
除了在下面評論中描述的經典C語言中有過描述,還在《C專家程式設計》的第一章1.8節ANSI C標準結構中也有引述常量表示式的有關內容,所以對於如題的問題描述是準確的,也就是說:無論是K&R的經典C,還是ANSI C都對於常量表示式的描述都是:除非包含在sizeof的運算元內(我們知道取位元組表示式是常量表示式),常量表示式不應包含逗號運算子(當然還有賦值、自增自減、函式呼叫運算子)。其他運算子則都可以包含在常量表示式中,而賦值、自增自減、函式呼叫運算子是不能在常量表示式中存在的,當然除了上面說的取位元組常量表示式。
相關文章
- 【C進階】18、三目運算子和逗號表示式
- Python的運算物件、運算子、表示式和語句Python物件
- C++中的運算子和表示式C++
- C語言運算子C語言
- 逍遙自在學C語言 | 算數運算子C語言
- JS逗號運算子的用法詳解JS
- SQLite中的運算子表示式SQLite
- javascript運算子——條件、逗號、賦值、()和void運算子JavaScript賦值
- java中運算子與表示式Java
- c語言運算子詳解C語言
- swift 自定義正規表示式運算子 =~Swift
- C語言表示式和運算子大學霸IT達人C語言
- JavaScript 立即執行函式、逗號運算JavaScript函式
- java零基礎自學第一天②,運算子:表示式,算術運算子,+操作,賦值運算子,自增自減運算子,關係運算子,邏輯運算子,三元運算子Java賦值
- 運算子與表示式
- 關於C語言的位運算子C語言
- C程式設計語言讀書筆記:型別運算子與表示式C程式程式設計筆記型別
- C語言 僅用位設定和位清除表示位運算C語言
- SQL語言運算子與函式SQL函式
- Java中包含哪些運算子Java
- C語言位運算C語言
- Java的&運算子作用於boolean運算元JavaBoolean
- Go語言運算子Go
- Go 語言運算子Go
- C語言學習筆記--C運算子C語言筆記
- javascript的逗號運算子的用法簡單介紹JavaScript
- 《手把手教你學C語言》學習筆記(8)--- 運算子和表示式C語言筆記
- Go語言運算元據庫及其常規操作Go
- C 語言運算子優先順序
- c語言-運算子,陣列,指標C語言陣列指標
- C語言運算子優先順序C語言
- 8.Golang中的運算子-算術運算子、關係運算子、邏輯運算子、賦值運算子Golang賦值
- Go語言運算元據庫Go
- 運算子的關係,什麼叫一元運算子,二元運算子,三元運算子,運算子優先順序,以及運算子的
- Swift 語言的基本運算子Swift
- JavaScript表示式和運算子(轉)JavaScript
- Python運算子和表示式Python
- 逍遙自在學C語言 | 關係運算子C語言