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

ออเปอเรเตอร์ ternary ใน C/C++


ออเปอเรเตอร์ที่ต้องการโอเปอรานด์ (operands) สามตัวในการทำงาน เรียกว่าออเปอเรเตอร์ ternary สามารถแสดงด้วย ? : ยังเรียกอีกอย่างว่า conditional operator ออเปอเรเตอร์นี้ช่วยเพิ่มประสิทธิภาพและลดจำนวนบรรทัดของโค้ด

ไวยากรณ์ของออเปอเรเตอร์ ternary ในภาษา C มีดังนี้:

Expression1 ? Expression2 : Expression3

ตัวอย่างของออเปอเรเตอร์ ternary ในภาษา C:

ตัวอย่าง

#include <stdio.h> 
int main() { 
    int a = -1; 
    double b = 26.4231; 
    int c = a? printf("True value : %lf",b):printf("False value : 0"); 
    return 0; 
}

ผลลัพธ์

True value : 26.423100

Expression1 จะถูกประเมินค่าอยู่เสมอ ในขณะที่ expression2 และ expression3 ขึ้นอยู่กับผลลัพธ์ของ expression1 หากผลลัพธ์ของ expression1 เป็น non-zero หรือค่าลบ expression2 จะถูกแสดง ไม่เช่นนั้น expression3 จะถูกแสดง

ออเปอเรเตอร์ ternary มีชนิดค่าที่ส่งคืน (return type) ชนิดค่าที่ส่งคืนขึ้นอยู่กับ expression2 และความสามารถในการแปลง expression3 ให้เป็น expression2 หากไม่สามารถแปลงได้ คอมไพเลอร์จะแสดงข้อผิดพลาด

ตัวอย่างอีกอย่างของออเปอเรเตอร์ ternary ในภาษา C:

ตัวอย่าง

#include <stdio.h> 
int main() { 
    int x = -1, y = 3; 
    double b = x+y+0.5; 
    int c = x<y? printf("True value : %lf",b):printf("False value : 0"); 
    return 0; 
}

ผลลัพธ์

True value : 2.500000