亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個語句很簡單,但是while括號里面的是很么意思

這個語句很簡單,但是while括號里面的是很么意思

C
qq_放聲就去笑_1 2017-12-16 10:21:26
int x=3;do{printf("%3d",x-=2); }while(!(--x));
查看完整描述

1 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

while小括號中的控制表達式的求值為0(或者說邏輯為false)時會結束循環。

這里的控制表達式是 !(--x):

  • 它最后運算的部分是 ! 表達式,! 表達式為 false 時會結束 while

  • ! 表達式為 false,也就是 --x 表達式不為0時。--x 表達式的值就是 x-1 的值,在第一次循環 do 部分執行過后,x 的值是 1,那么 --x 的值就是 0

所以第一次循環時 !(--x) 為 true,會進行下一次循環。

而在下次循環時,do 中 x 值會成為 -2,那么這次 while 的控制表達式值就是 false 了,才會結束循環。


也就是說 do 會循環兩次,打印出 x 的值分別是 1 和 -2。

查看完整回答
1 反對 回復 2017-12-16
點擊展開后面3
  • 1 回答
  • 0 關注
  • 1951 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號