我想知道为什么下面的代码会崩溃。
int main( )
{
int arr = 1 && arr;
return 0;
}
但不是下面的代码
int main( )
{
int arr = 0 && arr;
return 0;
}
提前致谢
最佳答案
0 && arr
由于 0
,上面的表达式是 false,所以 arr
不像 1 && arr
where 必须检查 arr
以计算表达式的值。
你应该尝试:
int main(){
int a = 0 && printf("a"); //printf returns number of characters printed, 1
int b = 1 && printf("b");
return 0;
}
关于当 int arr = 1 && arr; 时代码崩溃但不是 int arr = 0 && arr;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613980/