-4 c arrays if-statement
我不明白为什么这个if语句是真的可以有人向我解释一下吗?
int a[8][8] = {0};
if(&a[7][0] == &a[0][0] || &a[5][1])
printf("true\n");
Run Code Online (Sandbox Code Playgroud)
这有条件的
if (&a[7][0] == &a[0][0] || &a[5][1])
Run Code Online (Sandbox Code Playgroud)
手段
if ( (&a[7][0] == &a[0][0]) || (&a[5][1] != 0) )
Run Code Online (Sandbox Code Playgroud)
在所有情况下,您永远不会找到a[5][1]零地址.所以你的条件总是得到满足.
您可能考虑过这种情况:
if (&a[7][0] == &a[0][0] || &a[7][0] == &a[5][1])
Run Code Online (Sandbox Code Playgroud)