Computer >> Máy Tính >  >> Lập trình >> C ++

Cái gì '?' làm gì trong C / C ++?


Toán tử ‘?’ được gọi là toán tử bậc ba vì nó yêu cầu ba toán hạng để thực hiện. Nó có thể được biểu thị bằng “? :”. Nó còn được gọi là toán tử điều kiện. Toán tử cải thiện hiệu suất và giảm các dòng mã.

Đây là cú pháp của toán tử bậc ba trong ngôn ngữ C,

Expression1 ? Expression2 : Expression3

Đây là một ví dụ về Toán tử bậc ba trong ngôn ngữ C,

Ví dụ

#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;
}

Đầu ra

Đây là kết quả

True value : 26.423100

Biểu thức1 sẽ luôn đánh giá trong khi biểu thức2 &biểu thức 3 phụ thuộc vào kết quả của biểu thức1. Nếu kết quả của biểu thức1 khác 0 hoặc âm, biểu thức2 sẽ hiển thị, nếu không biểu thức 3 sẽ hiển thị.

Toán tử bậc ba có kiểu trả về. Kiểu trả về phụ thuộc vào biểu thức2 và cả khả năng chuyển đổi của biểu thức3 thành biểu thức2. Nếu chúng không thể chuyển đổi, trình biên dịch sẽ báo lỗi.

Đây là một ví dụ khác về toán tử bậc ba trong ngôn ngữ C,

Ví dụ

#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;
}

Đầu ra

Đây là kết quả

True value : 2.500000