C 只有数字的陈述的目的是什么?

C 只有数字的陈述的目的是什么?,c,C,我在上遇到以下代码: 我无法理解上述代码片段中'-1'的用途 有人能解释一下吗?这是一个GNU扩展,它基本上“返回”-1,(使errmsg像一个函数一样工作)谢谢Erik W。你说得对。但我无法获得任何与此相关的文档。正如你提到的,我用GNU扩展做了谷歌。我仍然想知道,如果不使用“return”语句,它如何返回值。 /* Error messages */ #define errmsg(fmt, ...) ({ \ fprintf(stderr, "%s: erro

我在上遇到以下代码:

我无法理解上述代码片段中'-1'的用途


有人能解释一下吗?

这是一个GNU扩展,它基本上“返回”
-1
,(使errmsg像一个函数一样工作)谢谢Erik W。你说得对。但我无法获得任何与此相关的文档。正如你提到的,我用GNU扩展做了谷歌。我仍然想知道,如果不使用“return”语句,它如何返回值。
/* Error messages */
#define errmsg(fmt, ...)  ({           \
    fprintf(stderr, "%s: error!: " fmt "\n", PROGRAM_NAME, #__VA_ARGS__); \
    -1;                                \
})