c - 在C中交替交错2个字符串

标签 c arrays

我正在编写一个 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/

相关文章:

c - C语言中的时间戳

c - 指向字符串的指针

php - 像 PHP 中的数组查询一样选择

c - 如何使用 Monotouch 强制退出 iOS 应用程序?

c++ - 如何将 MQseries 原因代码转换为字符串?

c - 语言 c char* 从第二个元素而不是第一个元素开始

c - 使用 bash 清理数据格式

java - 我可以在 if 语句中声明一个数组吗?

JavaScript:排序集合,它不是数组

c++ - 如何通过静态结构数组专门化模板函数