const int x = 5;
int main()
{
int x = x;
printf("%d\n",x);
return 0;
}
GCC编译后输出是
1994628660
随机结果
const int x = 5;
int main()
{
int x[x];
printf("%d\n",sizeof(x)/sizeof(int));
return 0;
}
该题输出为 5.
The point of declaration for a name is immediately after its complete declarator (Clause 8) and before its
initializer (if any), except as noted below. [ Example:int x = 12;
{ int x = x; }
Here the second x is initialized with its own (indeterminate) value. —end example ]
[ Note: a name from an outer scope remains visible up to the point of declaration of the name that hides
it.[ Example:
const int i = 2;
{ int i[i]; }
declares a block-scope array of two integers. —end example ] —end note ]