Tôi đang gặp khó khăn trong việc hiểu tuyên bố ở đây:
for( int i=0; i< out_length; i++){
int num=i < length_a ? mảng_a[i] : 0;
...
...
Những gì tôi đã tìm kiếm trên Google:
expr1 ? expr2 : expr3
Nếu expr1 đánh giá thành một giá trị khác 0, thì expr2 sẽ được đánh giá, nếu không thì expr3 sẽ được đánh giá, giá trị của toàn bộ biểu thức là bất kỳ giá trị nào trong số expr2 hoặc expr3 được đánh giá (điều này có nghĩa là loại expr2 và expr3 phải giống nhau).
Nhưng tôi vẫn còn bối rối, nếu bạn có thể biến câu nói đó thành một câu nói nào đónếu-khác chặn, điều đó sẽ hữu ích, cảm ơn sự giúp đỡ của bạn ..
biểu thức1 ?biểu thức2 : biểu thức3
Nếu khác là tương đương:
nếu(expr1)
{
// Đánh giá expr2
}
khác
{
// Đánh giá expr3
}
Vì vậy, tuyên bố của bạn trong mã của bạn đánh giá:
int num=i < length_a ? mảng_a[i] : 0;
thể hiện
nếu(i<>
{
num = mảng_a[i];
}
khác
{
số = 0;
}
Tôi là một lập trình viên xuất sắc, rất giỏi!