【发布时间】:2018-09-23 17:03:48
【问题描述】:
我正在阅读有关令牌并计算程序中令牌数量的信息。
以前我在某处读到预处理器命令不计为令牌。 但是当我在Geeksforgeeks 上阅读有关令牌时,它在“特殊符号”部分中给出:
预处理器(#):预处理器是一个宏处理器,编译器在实际编译之前自动使用它来转换你的程序。
所以我很困惑,在一个程序中,如果我们写#define 会是一个令牌吗?
例如:
#include<stdio.h>
#define max 100
int main()
{
printf("max is %d", max);
return 0;
}
这个例子中有多少个令牌?
【问题讨论】:
-
没有c/c++语言这种东西。
-
有效令牌是什么意思? 关键字?
-
极客对极客的文章充满了可疑的解释。我会忽略这篇文章。上次我查看 C++ 语法预处理器标记和标记是不同的东西,预处理器标记不算作标记。
-
我的意思是它会被简单地算作令牌吗?请指定该程序中有多少令牌,以便我可以获得更好的知识
-
@john '#' 和 'include' 都是预处理器标记。语言中唯一没有根据某种标记定义的方面是 cmets、反斜杠换行符和三元组。
标签: c c-preprocessor token