c語言中關於圓括號中以逗號賦值

  今天有一仁兄發出一個問題,int a[3][2]={(0,1),(2,3),(4,5)};爲何賦值給二維數組的值是1,3,5,0,0,0!在c語言中,給二維數組賦值是以{}來的,可此時的()爲什麼可以且會得到這個結果呢,在c語言中()是被用來賦值運算用的,那麼編譯器就會以爲(0,1)中僅僅當作一個值傳給a[0][0],根據查看彙編源碼,把最近處理的1作爲結果被賦值了!所以最後得出的結果就是1,3,5,0,0,0!經過我的代碼驗證(int b=(2,3,4,5);打印b的值爲5)也是成立的!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章