Cú pháp: biểu_thức_logic ? biểu_thức_1 : biểu_thức_2
Diễn giải: Nếu biểu_thức_logic đúng (khác 0) thì kết quả của phép toán là giá trị của biểu_thức_1, ngược lại kết quả toán tử là giá trị của biểu_thức_2.
Kiểu của phép toán điều kiện là kiểu lớn nhất trong các kiểu của biểu_thức_1 và biểu_thức_2.
Toán tử này thực chất là cách viết tắt của cấu trúc if ... else
Như vậy, câu lệnh:
z = ( biểu_thức_logic ? biểu_thức_1 : biểu_thức_2 );
tương đương với:
if ( biểu_thức_logic) z = biểu_thức_1;
else z = biểu_thức_2;
Ví dụ: Câu lệnh z = ((x < y) ? x : y); sẽ gán giá trị nhỏ nhất của x và y cho biến z.
Cho biết kết quả của chương trình sau đây:
#include<stdio.h>
#include<conio.h>
int main(){
int a = 10, b = 5, c = 10, d;
printf("Minh họa phép toán tăng giảm");
d = a == (b = c);
printf("\n 1: a=%d b=%d c=%d d=%d", a, b, c, d);
a = b = c = 5;
a += b += c;
printf("\n 2: a=%d b=%d c=%d", a, b, c);
c = a > b ? a++ : b++;
printf("\n 3: a=%d b=%d c=%d", a, b, c);
c = a > b ? a++ : b++;
printf("\n 4: a=%d b=%d c=%d", a, b, c);
system("pause");
return 0;
}
» Tin mới nhất:
» Các tin khác: