int main()
{
int a[2] = {1,2};
a[2] = 3;
printf("\n\n%d %d %d\n\n",a[0],a[1],a[2]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我输出为 1 2 3
为什么在运行时或编译时没有抛出错误?
我在开源库中看到了一些代码.它们检查是否在带有测试if的变量中设置了特定标志!!(flag & FLAG1)
我的问题是,为什么不简单地写,(flag & FLAG1)而不是?第一个版本是否更加优化?