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

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問 cout<<(coor1++).getx()<<","<<(coor1++).gety()<<endl; 和 cout<<(coor1++).getx()<<","; cout<<(coor1++).gety()<<endl; 打印出的結果不一樣是為什么呀

請問

cout<<(coor1++).getx()<<","<<(coor1++).gety()<<endl;

cout<<(coor1++).getx()<<",";

cout<<(coor1++).gety()<<endl;

打印出的結果不一樣是為什么呀


正在回答

2 回答

因為老師的是分開的,老師那樣寫是為了讓我們看清楚后置++運算符怎么用的。如

cout<<(coor++).getX()<<",";

cout<<(coor++).getY()<<endl;

這里面第一次的getX()就和我們之前學過a++一樣,先用后+


后面連起來用是因為入棧的方式,才輸出 2, 4

C/C++都一致的,即都是先運算b,b入棧(存儲進緩沖區),運算a,a入棧(存儲進緩沖區)
???????????????輸出(顯示)時,a先出棧(a緩沖區被刷新),b出棧(b緩沖區被刷新)


0 回復 有任何疑惑可以回復我~

在第一種寫法中,coor1只進行了一次++運算;在第二種寫法中,cout<<(coor1++).getx()對coor1這個對象進行了一次++運算,在cout<<(coor1++).gety()中,又進行了一次++運算。所以結果不一樣。把cout<<(coor1++).gety()改為cout<<coor.gety()就行了。(應該是這樣的,沒運行,不敢肯定)

0 回復 有任何疑惑可以回復我~
#1

慕UI0451504 提問者

Coordinate coor1(1,3); cout<<(coor1++).getx()<<","<<(coor1++).gety()<<endl;這樣算的結果是2,3; cout<<(coor1++).getx()<<","; cout<<(coor1++).gety()<<endl; 這樣算的結果是1,4; 所以我很迷。。
2020-04-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之模板篇
  • 參與學習       91140    人
  • 解答問題       325    個

本C++教程力求即學即會,所有知識以實踐方式講解到操作層面

進入課程

請問 cout<<(coor1++).getx()<<","<<(coor1++).gety()<<endl; 和 cout<<(coor1++).getx()<<","; cout<<(coor1++).gety()<<endl; 打印出的結果不一樣是為什么呀

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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