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





17
x หลัง“ x = x ++” คืออะไร?
เกิดอะไรขึ้น (ด้านหลังม่าน) เมื่อดำเนินการสิ่งนี้ int x = 7; x = x++; นั่นคือเมื่อตัวแปรถูกโพสต์เพิ่มขึ้นและกำหนดให้กับตัวเองในหนึ่งคำสั่ง? ฉันรวบรวมและดำเนินการนี้ xยังคงเป็น 7 แม้หลังจากคำสั่งทั้งหมด ในหนังสือของฉันมันบอกว่าxมันเพิ่มขึ้น!

5
ความแตกต่างระหว่าง * ptr + = 1 และ * ptr ++ ใน C
ฉันเพิ่งเริ่มศึกษา C และเมื่อทำตัวอย่างหนึ่งเกี่ยวกับการส่งตัวชี้ไปยังตัวชี้เป็นพารามิเตอร์ของฟังก์ชันฉันพบปัญหา นี่คือโค้ดตัวอย่างของฉัน: #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int size){ if (ptr != NULL){ for (int i = 0; i < size; i++){ ptr[i] = i; } } return ptr; } void increasePointer(int** ptr){ if (ptr != NULL){ *ptr += 1; /* <----------------------------- This is …

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.