01/10/2018, 14:06

Hỏi về return trong c++ Toán tử điều kiện 3 ngôi

int f(int i) {
 if (i >= 10) i -= 5;
if (i <= 1) return 1;
return (i%2 == 0) ?
 (i * f(i-1)) :
 (i + f(i-2));
}
int a = f(3 + 5);

các bác gthích cho em về cái lệnh return thứ 2 vs ạ. em cảm ơn!

Florastamine viết 16:16 ngày 01/10/2018

i % 2 == 0 để kiểm tra i có chia hết cho 2 không, hoặc nói cách khác i có phải là số chẵn không.

Tuấn Đạt viết 16:14 ngày 01/10/2018

thế còn 2 dòng ở sau return là sao ạ

Florastamine viết 16:15 ngày 01/10/2018

ternary operator (sách tiếng Việt hay gọi là toán tử ba ngôi, mình không nhớ rõ). Kiểu như:

int i = a > 5 ? 6 : 7;

Biểu thức này sẽ gán 6 cho i nếu a > 5, và ngược lại thì gán 7. Nếu bạn đã học if-else rồi thì biểu thức trên giống như:

if (a > 5) i = 6;
else i = 7;
Tuấn Đạt viết 16:10 ngày 01/10/2018

à em hiểu r, tlks bác ^^

Bài liên quan
0