【发布时间】:2017-12-14 03:41:15
【问题描述】:
在此声明中
for (i = 1; i <= n; i++) {
cout << i << " \n"[ i == n ];
}
cout 语句 [i==n] 中的最后一个词是做什么的?
我猜这个循环会打印空格分隔的数字。
【问题讨论】:
-
@underscore_d:绝对不是。注意
[ i==n ]中的不寻常表达式。 -
并通过标准布尔评估,
i == n变为0或1。所以,一旦有人知道"foo"[bar]做了什么,"foo"[i == n]对我来说似乎微不足道。