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

อะไร '?' ทำใน C/C++?


ตัวดำเนินการ '?' เรียกว่าตัวดำเนินการ ternary เนื่องจากต้องใช้ตัวถูกดำเนินการสามตัวในการดำเนินการ สามารถแสดงด้วย “ ? :”. เรียกอีกอย่างว่าตัวดำเนินการตามเงื่อนไข ตัวดำเนินการปรับปรุงประสิทธิภาพและลดบรรทัดของรหัส

นี่คือไวยากรณ์ของตัวดำเนินการ ternary ในภาษา C

Expression1 ? Expression2 : Expression3

นี่คือตัวอย่าง Ternary Operator ในภาษา 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 ไม่ใช่ศูนย์หรือค่าลบ expression2 จะแสดง มิฉะนั้น expression3 จะแสดง

ตัวดำเนินการ ternary มีประเภทการส่งคืน ประเภทการส่งคืนขึ้นอยู่กับ 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