【发布时间】:2013-05-16 05:30:19
【问题描述】:
我已经看到使用“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;
}
【问题讨论】:
-
做同样的事情两次。在复制完第一个的地方开始复制第二个。
-
展示你的尝试,我们不会为你做功课。
-
糟糕,对不起!我应该包括我所做的。抱歉,我好像想让你们做我的功课。我感谢所有发布关于如何解决问题的提示和想法的人,我永远不会使用这个网站来为我写作业。我只是一个对编程完全陌生的非常困惑的学生。 :) 我肯定会编辑我的问题以包括我到目前为止所做的事情。感谢您的帮助!
标签: c string character concatenation