我正在编写一个 C 程序,在给定 2 个字符串时交换所有字母表。例如,如果给它“abc”和“123”,它应该给出输出“a1b2c3”。我遇到的问题是当我访问数组中的元素时。代码不运行并给出错误。这是我的代码:-
#include <stdio.h>
#include <string.h>
int main()
{
char a[80];
char b[80];
char l[120];
char f[120];
strcpy(a, "abc");
strcpy(f, "");
strcpy(l, "abc");
strcpy(b,"123");
strcat(a,b);
int pop;
pop = sizeof(a);
int j;
int k;
k=0;
for (j=0;j<pop;j++)
{
if (j%2==0 ) {
strcat(f,l[k]);
}
else{
strcat(f,b[k]);
k++;
}
}
printf("String is %s ",f);
}
最佳答案
尝试改变
pop = strlen(a)
并将for循环改为
for (j = 1; j <= pop; j++)
{
if (j % 2 == 0) {
strcat(f, l[k]);
k++;
}
else {
strcat(f, b[k]);
}
}
printf("String is %s ", f);
关于c - 在C中交替交错2个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36128905/