如果数组只是用0
's 填充,此代码会导致未定义的行为吗?或者编译器可以对不太关键的条件进行一些检查,即“首先检查自动非指针值”
uiaDigit[10];
for (sizeIndexI = 0; sizeIndexI < 10 && uiaDigit[sizeIndexI] == 0; sizeIndexI++)
;
我猜想像阅读方向这样的东西
“AND 比较总是从左到右读取,一开始是假的”
最多是实现定义的行为,不是吗?
那么编译器是否会得到它,如果得到 10,他无论如何都必须突破sizeIndexI
,或者他会比较 'uiaDigit[10] == 0' 吗?