|
|
教學(xué)公告
課件疑問
[作者:
肖菁 發(fā)布時(shí)間:2019-10-29 11:07:44 瀏覽次數(shù):814次]
課件中有:
若x=4,y=5,則 i=++x==5||++y==6 ,; i,,x,,y的取值分別為多少?
這個(gè)表達(dá)式C++會(huì)做短路處理,,就是||前面部分如果是為真的話;那么 || 后面的無論是否為真,, || 的結(jié)果都是為真,,此時(shí)C和C++就不做后面那個(gè)東西了。
答案是 1 5 5
x開始是4,,前置++后就是5
所以||的前半部分為1,,導(dǎo)致 || 短路,后面代碼不做,;即y并沒有自增了
故y的值從未變化過,,還是5,。
同樣,&&運(yùn)算符如果前部分是0的話,,后面部分也不做運(yùn)算了,。
i=x++==5&&y++==6; 的話 y部分也沒有做運(yùn)算了。