最近遇到了以下示例,这些示例返回一个寄存器读取__ret但没有返回语句
#define READWORD(offset)       ({ \
                 unsigned short __ret=0;\
                 __ret = readw(offset);\
                 __ret; \
                 })
谷歌是否同样发现像宏这样的功能可以返回值.假设最后一个语句"_ ret"等同于返回一个值是否安全?如果我在" _ret" 之后有另一个更改__ret值的声明怎么办?哪一个会被退回?