đoạn mã sau in một hình vuông '*'
ký tự:C++ cú pháp thú vị cho in dòng mới trong std :: cout
int m = 5; int n=5;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
std::cout << "*" << " \n"[j==5];
Output:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
Câu hỏi của tôi là liên quan đến phần " \n"[j==5]
. Có ai biết cú pháp này hoạt động chính xác như thế nào không?
'" \ n "' là một mảng 3 'char' và' [j == 5] 'là toán tử lập chỉ mục truy cập mục mảng đầu tiên hoặc thứ hai . – VTT
Nó chỉ là một mảng gồm hai (hoặc nhiều hơn) ký tự được lập chỉ mục bởi một giá trị boolean. –
Ba ký tự trong "\ n" là {'', '\ n', '\ 0'} – Caleth