我正在尝试编写一个程序,该程序在C中接受两个字符串输入,然后在两个字符串交错时产生结果。
我想要的一个例子:
input: abdc
input: efgh
result: aebfdgch
到目前为止,这是我在那部分内容中所使用的少量代码。
#include <stdio.h>
#include <string.h>
#define maxLen 100
int main() {
char string1[maxLen];
char string2[maxLen];
printf("please enter a string of up to 100 characters: ");
fgets(shuffleString,maxLen,stdin);
printf("please enter another string of up to 100 characters: ");
fgets(shuffleString2,maxLen,stdin);
return 0;
}
我已经尝试了很多方法来使改组工作正常进行,但是我似乎什么也没做。这是用于家庭作业的,因此我并不想让别人为我编写代码,但是一些示例和解释会很好。另外,如果还不很清楚,这是针对C级入门课程的,因此,我希望将事情保持在尽可能接近我的水平的水平。
最佳答案
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *strlace(char *str1, char *str2)
{
int i;
int len = strlen(str1) + strlen(str2) + 1;
char *str = (char*)malloc(len * sizeof(char));
for (i = 0; i < strlen(str1); ++i) {
str[i*2] = str1[i];
}
for (i = 0; i < strlen(str2); ++i) {
str[1+i*2] = str2[i];
}
str[len - 1] = 0;
return str;
}
int main()
{
char *str1 = "abdc";
char *str2 = "efgh";
char *str3 = strlace(str1, str2);
puts(str3);
free(str3);
return 0;
}
似乎有效。
请享用。
关于c - 如何在c中交织两个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15240145/