【问题标题】:Variable named 'unix' has value 1 [duplicate]名为“unix”的变量的值为 1 [重复]
【发布时间】:2017-04-03 10:58:54
【问题描述】:

如果我写这个程序 -

main(){printf("%d",unix);}

这编译正确,并打印1,尽管我预计会出现“unix undeclared”或类似错误。但如果我改成这个——

main(){printf("%d",blah);}

这给出了错误-

error: 'blah' undeclared (first use in this function)

正如预期的那样。

那么,为什么unix 不会产生错误,为什么它的值是 1?我尝试了谷歌搜索,但没有任何结果。

【问题讨论】:

标签: c unix


【解决方案1】:
#undef unix
int main(void)
{printf("%d\n",unix);
return 0;
}

编译失败(即使在#include <stdio.h>之后,所以,它必须是一些内置预处理器~#define编译器输出:

unix.c: In function ‘main’:
unix.c:4:16: error: ‘unix’ undeclared (first use in this function)
 {printf("%d\n",unix);

【讨论】:

    猜你喜欢
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 2018-05-20
    • 2014-06-03
    • 2015-07-13
    • 1970-01-01
    • 2014-10-30
    相关资源
    最近更新 更多