最近碰到下面的例子,它返回一個寄存器讀取__ret但沒有return語句功能像宏返回一個值
#define READWORD(offset) ({ \
unsigned short __ret=0;\
__ret = readw(offset);\
__ret; \
})
難道在同谷歌和發現像宏函數可以返回值。假設上一條語句「_ ret」相當於返回一個值是否安全? 如果我在「 _ret」後改變了__ret值,我又有了什麼陳述。哪一個會返回?
可能重複[可以將範圍包裝在圓括號中並在C中返回一個值?](http://stackoverflow.com/questions/16571112/can-scopes-be-wrapped-in-parentheses-and-return- a-value-in-c) –