Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การดำเนินการ printf ด้วยตัวดำเนินการ ++ ใน C


ในบางปัญหา เราสามารถพบคำสั่ง printf() ที่มีบางบรรทัดที่มีตัวดำเนินการ ++ ในคำถามของการสอบแข่งขัน เราสามารถค้นหาคำถามประเภทนี้เพื่อค้นหาผลลัพธ์ของรหัสนั้น ในส่วนนี้ เราจะมาดูตัวอย่างคำถามประเภทนั้นและพยายามหาคำตอบว่าจะเป็นอย่างไร

โค้ดตัวอย่าง

#include<stdio.h>
int main() {
   volatile int x = 20;
   printf("%d %d\n", x, x++);
   x = 20;
   printf("%d %d\n", x++, x);
   x = 20;
   printf("%d %d %d ", x, x++, ++x);
   return 0;
}

ตอนนี้เราจะพยายามเดาว่าผลลัพธ์จะเป็นอย่างไร คอมไพเลอร์ส่วนใหญ่รับแต่ละพารามิเตอร์ของ printf() จากขวาไปซ้าย ดังนั้นในคำสั่ง printf() ตัวแรก พารามิเตอร์สุดท้ายคือ x++ ​​ดังนั้นสิ่งนี้จะถูกดำเนินการก่อน มันจะพิมพ์ 20 หลังจากนั้นจะเพิ่มค่าจาก 20 เป็น 21 ตอนนี้ให้พิมพ์อาร์กิวเมนต์ตัวที่สอง และแสดง 21 เช่นนั้น บรรทัดอื่น ๆ จะถูกคำนวณในลักษณะนี้เช่นกัน สำหรับ ++x จะเพิ่มค่าก่อนพิมพ์ และสำหรับ x++ จะพิมพ์ค่าในตอนแรก แล้วจึงเพิ่มค่า

โปรดตรวจสอบผลลัพธ์เพื่อความเข้าใจที่ดีขึ้น

ผลลัพธ์

21 20
20 20
22 21 21