处理2个不同大小的阵列

时间:2014-08-28 11:53:50

标签: c arrays

我有2个char数组,它们有不同的大小。

我需要从另一个中减去一个,但我没有设法用循环(因为它们有不同的大小)。

这就是我写的:

for (i = 0; i < text_counter; i++)
{
   for (j = 0; j <= key_counter; j++)
   {
       text_out[i] = text_in[i] - (key[i] - '0');
   }
   j = 0;
}

text_counter计算text_in中的字符数,key_counter跟踪key中的字符数,答案位于第三个数组{{1} }}

如果一个数组为test_out而另一个数组为BCDEFG,则结果应为12

1 个答案:

答案 0 :(得分:0)

尝试类似:

j = 0;
for (i = 0; i < text_counter; i++)
{
   text_out[i] = text_in[i] - (key[j] - '0');
   if (j < key_counter)
       j++;
   else
       j = 0;
}

编辑:@Matt解决方案与%似乎更好:

for (i = 0; i < text_counter; i++)
{
   text_out[i] = text_in[i] - (key[i % key_counter] - '0');
}