为什么插入排序中第二个循环交换数组while条件arr[j] < arr[j-1]&&j>0会报数组下标越界,j>0&&arr[j] < arr[j-1]正常的
不太懂TvT
C中 if(A && B) 如果A已经为0了,那根本不会去计算B了。
所以虽然都是arr[j-1] 越界,但你将arr[j] < arr[j-1]放到B的位置时它计算到A为假就退出了,所以不会去计算B,所以不报错。
而你将它放到A位置,它就会被计算而报错。
在多条件判断的时候,当遇到一个条件为假的时候,后续判断就不再进行了,熔断了