在本声明中
for (i = 1; i <= n; i++) {
cout << i << " \n"[ i == n ];
}
cout
声明[i==n]
中的最后一个术语是什么?
我猜这个循环打印空格分开的数字。
答案 0 :(得分:14)
这是一种迟钝的写作方式:
(i == n ? '\n' : ' ')
也就是说,当i == n
时,会打印换行符,否则会打印一个空格。
我们的想法是用空格分隔数字,并在打印完所有数字后加上换行符。
答案 1 :(得分:7)
将字符' '
或字符'\n'
编入索引是一种愚蠢的方法。这也是同样的想法并打印出#Hello; Hello World&#34;:
#include <iostream>
int main() {
for (int i = 0; i < 11; i++)
std::cout << "Hello World"[i];
return 0;
}
i == n
要么是true
,要么是false
。当使用[i == n]
转换为整数以进行索引时,您将获得第一个或第二个元素