我已经看到使用“strcopy”和“strcat”执行此操作的方法,但我不允许使用任何预定义的字符串函数。
我得到:
void str_cat_101(char const input1[], char const input2[], char result[]);
我必须将 input1 和 input2 中的字符放入结果中(从左到右)。我是否必须使用两个 for 循环,变量 i 和 j 来表示参数列表中的两个不同字符串?我知道如何从一个字符串中复制值,但我对如何从两个字符串中传输值感到困惑。谢谢您的帮助。
所以这就是我的 string.c 文件中的内容,但我觉得我没有以正确的方式进行操作。
void str_cat_101(char const input1[], char const input2[], char result[])
{
int i, j;
for (i = 0; input1[i] != '\0'; i++)
{
result[i] = input1[i];
}
result[i] = '\0';
for (j = 0; input2[j] != '\0'; j++)
{
result[j] = input2[j];
}
result[j] = '\0';
}
这是我的测试用例:
void str_cat_101_tests(void)
{
char input1[4] = {'k', 'a', 'r', '\0'};
char input2[3] = {'e', 'n', '\0'};
char result[7];
str_cat_101(input1, input2, result);
checkit_string("karen", result);
}
int main()
{
str_cat_101_tests();
return 0;
}