今天刷题的时候遇到的问题,两个判别式与运算,顺序不一样时一个报错一个不报错.
原因是与运算的逻辑短路.
a&&b,会先计算a,若a为假,则不计算b,b&&a同理.
以a&&b为例,若a判别式非法,例如数组越界等,会直接报错,
而此时b&&a,如果b判别式合法且为非,a非法,则不会报错,因为b为非后,后面的a直接跳过不会计算.
今天刷题的时候遇到的问题,两个判别式与运算,顺序不一样时一个报错一个不报错.
原因是与运算的逻辑短路.
a&&b,会先计算a,若a为假,则不计算b,b&&a同理.
以a&&b为例,若a判别式非法,例如数组越界等,会直接报错,
而此时b&&a,如果b判别式合法且为非,a非法,则不会报错,因为b为非后,后面的a直接跳过不会计算.