คำถามติดแท็ก pre-increment





14
ตัวดำเนินการโพสต์ส่วนเพิ่ม (i ++) และส่วนเพิ่มก่อน (++ i) ทำงานอย่างไรใน Java
คุณช่วยอธิบายผลลัพธ์ของโค้ด Java นี้ให้ฉันฟังได้ไหม int a=5,i; i=++a + ++a + a++; i=a++ + ++a + ++a; a=++a + ++a + a++; System.out.println(a); System.out.println(i); เอาต์พุตคือ 20 ในทั้งสองกรณี

10
การเพิ่ม C ++ - เมื่อใดควรใช้ x ++ หรือ ++ x
ฉันกำลังเรียนรู้ C ++ และฉันได้เรียนรู้เกี่ยวกับการเพิ่มขึ้นเมื่อสักครู่ที่ผ่านมา ฉันรู้ว่าคุณสามารถใช้ "++ x" เพื่อเพิ่มส่วนก่อนและ "x ++" เพื่อทำหลังจากนั้น ถึงกระนั้นฉันก็ไม่รู้จริงๆว่าจะใช้ทั้งสองอย่างเมื่อใด ... ฉันไม่เคยใช้ "++ x" จริงๆและจนถึงตอนนี้สิ่งต่างๆก็ใช้ได้ดี - ดังนั้นฉันควรใช้เมื่อใด ตัวอย่าง: ในสำหรับลูปควรใช้ "++ x" เมื่อใด นอกจากนี้ใครบางคนสามารถอธิบายได้อย่างชัดเจนว่าการเพิ่มขึ้น (หรือการลดระดับ) ทำงานอย่างไร ฉันจะขอบคุณมันจริงๆ

3
เหตุใด“ ++ i ++” จึงไม่ถูกต้องในขณะที่ (++ i) ++ นั้นถูกต้อง?
ลองพิจารณารหัสต่อไปนี้: int main() { int i = 2; int b = ++i++; return 3; } มันรวบรวมด้วยต่อไปนี้มีข้อผิดพลาด: <source>: In function 'int main()': <source>:3:16: error: lvalue required as increment operand 3 | int b = ++i++; | ^~ มันฟังดูยุติธรรมสำหรับฉัน การเพิ่มขึ้นของ Postfix มีลำดับความสำคัญสูงกว่าการเพิ่มคำนำหน้าดังนั้นจึงมีการแยกวิเคราะห์รหัสint b = ++(i++);และiเป็น rvalue ดังนั้นข้อผิดพลาด ลองพิจารณาตัวแปรนี้ด้วยวงเล็บเพื่อแทนที่ลำดับความสำคัญเริ่มต้น: int main() { int …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.