请问一下这两个语句的意思

请教一下这两个语句的意思
int error_intr =
#ifdef EINTR
EINTR;
#else
-1;
#endif // error_intr的值是多少?

=========================================

#define X(e,s) if (i == e) return s; //定义后那么语句X(0,"no error")代表什么意思呢?

------解决方案--------------------
如果前面定义了EINTR , error_intr就等于EINTR ,否则等于-1

宏定义,完全替换,就变成了
if (i == 0) return "no error";
------解决方案--------------------
同意楼上
=====================

 
int error_intr = 
#ifdef EINTR //如果前面定义了EINTR , error_intr就等于EINTR 
EINTR; 
#else 
-1; //否则等于-1
#endif
宏定义,完全替换,就变成了 
if (i == 0) return "no error";