注册 登录
编程论坛 C++教室

一个数组作为函数参数的输出问题

lxqlyld 发布于 2012-07-13 15:29, 468 次点击
在书上看到一个程序,是关于数组输出问题的,一行输出12个元素,并用逗号隔开,每行的最后不用输出逗号:
#include <iostream>
const lineLength = 12; // 一行中输出的元素数
void putValues( int *ia, int sz )//sz为数组长度
{
cout << "( " << sz << " )< ";
for ( int i = 0; i < sz; ++i )
{
if ( i % lineLength == 0 && i )
cout << "\n\t"; // 一行满了
cout << ia[ i ];
// 用逗号分隔元素
if ( i % lineLength != lineLength-1 &&
i != sz-1 )
cout << ", ";
}
cout << " >\n";
}
对这个程序我有一个疑问,因为数组的位置从0开始算,所以if ( i % lineLength == 0 && i )是不是要改成if ( i % (lineLength-1) == 0 && i )啊,i=11的时候,一行中就已经输出12个元素了
向各位高手请教
3 回复
#2
peach54602012-07-13 15:37
lineLength这只是个个数啊,又不是下标啊,你再想想...
#3
lxqlyld2012-07-13 16:54
回复 2楼 peach5460
我知道它是个数,只是当i迭代增加为11的时候,不就说明这一行已经有12个元素了么,而此时if语句的条件为:11%12==0&&11,是假的啊,换不了行啊。
当i为12时,可以换行了,但一行不是有13个元素了么
我是初学者,希望你帮解答一下
#4
peach54602012-07-13 17:06
问题在于,你的程序逻辑是先判断换行再打印啊
1