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

ฉันจะใช้ตัวดำเนินการตามเงื่อนไขใน C/C++ ได้อย่างไร


ตัวดำเนินการตามเงื่อนไขนี้เรียกอีกอย่างว่าตัวดำเนินการแบบสามส่วน โอเปอเรเตอร์นี้มีสามเฟส

Exp1 ? Exp2 : Exp3;

โดยที่ Exp1, Exp2 และ Exp3 เป็นนิพจน์ สังเกตการใช้และตำแหน่งของทวิภาค ค่าของ ? นิพจน์ถูกกำหนดเช่นนี้:ประเมิน Exp1 หากเป็นจริง Exp2 จะถูกประเมินและกลายเป็นค่าของ ? การแสดงออก. หาก Exp1 เป็นเท็จ ระบบจะประเมิน Exp3 และค่าจะกลายเป็นค่าของนิพจน์

ที่ ? เรียกว่า ternary operator เนื่องจากต้องใช้ตัวถูกดำเนินการ 3 ตัว และสามารถใช้แทนคำสั่ง if-else ซึ่งมีรูปแบบดังนี้

if(condition) {
   var = X;
} else {
     var = Y;
}

ตัวอย่างเช่น พิจารณาโค้ดต่อไปนี้

if(y < 10) {
   var = 30;
} else {
  var = 40;
}

โค้ดด้านบนเขียนใหม่ได้แบบนี้

var = (y < 10) ? 30 : 40;

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

#include <iostream>
using namespace std;
int main () {
   // Local variable declaration:
   int x, y = 10;
   x = (y < 10) ? 30 : 40;
   cout << "value of x: " << x << endl;
   return 0;
}

ผลลัพธ์

value of x: 40