上一学期是做什么的?

时间:2017-12-14 03:41:16

标签: c++ loops cout

在本声明中

for (i = 1; i <= n; i++) {
    cout << i << " \n"[ i == n ];
}

cout声明[i==n]中的最后一个术语是什么? 我猜这个循环打印空格分开的数字。

2 个答案:

答案 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]转换为整数以进行索引时,您将获得第一个或第二个元素