支持c++11的编译器都可以这样写
for(int i = 0; i < n; ++ i){ cout << a[i] << " \n"[i == n - 1]; }
这样数组的每个元素之间有空格,最后会有换行,不需要手动添加cout << endl了。 是不是很神奇?
原理是" \n"在这里可以看成一个const char数组,由空格,换行符和\0组成。[]看成是按下标取,i!= n - 1时访问第一位空格,等于时输出换行符。
" \n"
看懂点个赞吧