A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© blackcard 中级黑马   /  2016-7-6 18:01  /  1018 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

不晓得会不会有人回答~~

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马