在a | | (b && c)中,如果遇到 | | 的短路问题,那么不会执行b和c的表达式,而仅仅执行a。但是假设abc3个是函数,且三个函数之间会相互影响其最后结果。
那么该表达式的执行顺序是如何?是先计算a判断是否短路?还是先计算b判断是否短路,再等到&&的结果再与a进行接下来的判断?
我暂时没有得到一个明确的答案,只能在调试中进行调整。
暂时想到的解决方法是,尽量避免 | | 和&&同时运用,且最好先得到abc3个表达式或者函数的结果,再进行判断。
最后问问,c中用数组作为函数参数,是不是意味着在主函数中数组a用sizeof计算,虽然a是数组的起始地址但是却象征整个数组,而经过函数之后,退化成指针,所以在函数中再使用sizeof就只会得到8字节(得到的是指针所占内存),而无法获得长度。也就是说同为地址,但是其代表意义却不相同~~
不晓得会不会有人回答~~ |
|