[英]Remove trailing comma in C++
如何从行尾删除尾随逗号,从数组输出?
for ( k = numEntries - 1; k >= i; k--)
myArray[k] = myArray[k - 1];
myArray[i] = newValue;
for (i = 0; i < numEntries; i++) {
cout << myArray[i];
cout << ",";
}
对于初学者这个循环
for ( k = numEntries - 1; k >= i; k--)
^^^^^^
myArray[k] = myArray[k - 1];
是不正确的。 很明显(由于此语句myArray[i] = newValue;
)您的意思是
for ( k = numEntries - 1; k > i; k--)
^^^^^
myArray[k] = myArray[k - 1];
至于你的问题,那么第二个循环看起来像
for (i = 0; i < numEntries; i++) {
if ( i != 0 ) cout << ",";
cout << myArray[i];
}
例如像这样:
for (i = 0; i < numEntries; i++) {
cout << myArray[i];
if (i < numEntries - 1) cout << ",";
}
这是我一直使用的(发明作为一个挑战问题的答案):
char const* prefix = "";
for (auto& element : myArray) {
std::cout << prefix << element;
prefix = ", ";
}
这是最大的紧凑而不在循环中引入分支/条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.