在这个声明中
for (i = 1; i <= n; i++) {
cout << i << " \n"[ i == n ];
}
Run Code Online (Sandbox Code Playgroud)
cout声明中的最后一个词是[i==n]做什么的?这个循环打印空间分开的数字我想.
Man*_*rse 14
这是一种迟钝的写作方式:
(i == n ? '\n' : ' ')
Run Code Online (Sandbox Code Playgroud)
也就是说,当i == n打印换行符时,否则打印空格.
我们的想法是用空格分隔数字,并在打印完所有数字后添加换行符.
索引字符' '或字符是一种愚蠢的方式'\n'.这有同样的想法并打印"Hello World":
#include <iostream>
int main() {
for (int i = 0; i < 11; i++)
std::cout << "Hello World"[i];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
i == n或要么是true或false.当使用转换为整数进行索引时,[i == n]您将获得第一个或第二个元素