我有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
答案 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');
}