基础语法——A&&B与B&&A有什么区别?

一个栗子:

for ( j=100; j>=0 && v[j]>key; j--) {
	;//do something
	}

运行没有问题。
但是假如我把这段代码这么写:

//注意&&前后的表达式调换了位置
for ( j=100; v[j]>key && j>=0 ; j--) {
	;//do something
	}

这个时候运行就出了问题!

原因是如果判定&&前面的表达式值为false就不会继续向后判断了。

在本例中:

j>=0在前面保证了j取到-1时直接跳出循环。如果v[j]>key在前,当j取到-1时会发生错误。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章