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

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

q–front=(q–>front+1)%queuesize;,請問這一句咋理解?

q–front=(q–>front+1)%queuesize;,請問這一句咋理解?

繁星coding 2022-06-09 17:07:54
datatype dequeue(cirqueue *q){datatype temp;if(queueempty(q))error(“queue underflow”);temp=q–>data[q–>front];q–>count--;q–front=(q–>front+1)%queuesize;return temp;}這一句怎么理解: q–front=(q–>front+1)%queuesize;那q->front=q->front+1就夠了,為什么還要對queuesize求余。
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

q–front=(q–>front+1)%queuesize;
是錯的
q->front=(q->front+1)%queuesize;
才對,
這句話說明
q是指針,他指向一個結構體類型的變量(可能是共用體類型的變量),而這類型里定義一整形變量front。
q引用變量front,使front原來的值加1然后對queuesize變量求余,并賦給q所引用的front 可以抽象的理解為front=(front+1)%queuesize
那你說n=10, n=n+1和n=(n+1)%5 的意義是一樣的嗎? 顯然不一樣,這要看你的程序主要是干嘛用的。

查看完整回答
反對 回復 2022-06-14
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

求于的目的是為了防止front大于queusize,當大于queuesize時,又從0開始

查看完整回答
反對 回復 2022-06-14
  • 2 回答
  • 0 關注
  • 451 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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