我希望它会打破其他一些解析,但这并不会立即浮出水面......
例如,如果我这样说:
#include <stdio.h>
int main()
{
int i = 10 000;
printf("%d\n", i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的编译器说:
ctest.c:5: error: expected ‘,’ or ‘;’ before numeric constant
Run Code Online (Sandbox Code Playgroud)
我认为它将是一个特征,即用数千个分隔符"眼睛解析"大整数更容易.我正在使用最近的GCC并假设其他编译器/解析器/词法分析器就是这种情况; 无论哪个是物体.
该语言不允许这样(整数文字是一个标记,插入的空格将其分成两个标记)但是通常将初始化程序表达为一个计算文字的表达式,几乎不会产生任何费用:
int i = 10 * 1000; /* ten thousand */
Run Code Online (Sandbox Code Playgroud)