字符数组比较

标签 c arrays

我正在尝试比较两个数组。这两个数组都包含 15 个字符。我想看看它们是否有相同的元素。

正在读入数组的字符

数组1:ATGGAATTCTCGCTC

数组2:TTGGAATTCTAGCTC

它们都是数组的形式,并作为 arrayt 和 arraymt 传入。 n_size和m_size是每个数组的大小。(这是因为数组可以是1-15之间的任意长度)

int mutations(char arrayt[],char arraymt[],int n_size,int m_size)
{
    int i=0,mutation=0;
    do{
        for(i=0;i<n_size;i++)
        {
            if (arrayt[i]==arraymt[i])
            {
                mutation=1;
            }
        }
    }while(n_size == m_size);
    return mutation;
}

这是我迄今为止用于查找两个数组中差异的代码。问题是,如果每个元素都有差异,我不知道可以返回的方法。 1 表示更改,0 表示不更改。

如果有任何不清楚的地方,请告诉我,我会尽力澄清。

最佳答案

您需要的代码可能是:

int* mutations(char arrayt[],char arraymt[],int n_size,int m_size)
{
    int i, size;
    int* mutation;

    // size = min(m_size,n_size)
    if n_size>m_size
       size=m_size;
    else
       size=n_size;
    endif

    mutation=*malloc( sizeof(int) * size); // allocate memory for return value


    for(i=0;i<size;i++)
    {
        if (arrayt[i]==arraymt[i])
        {
            mutation[i]=1;
        } else {
            mutation[i]=0;
        }
     }

    return mutation;
}

关于字符数组比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26499313/

相关文章:

c - 不将二维数组的行数传递给 c 中的函数

c - 像 strtok() 这样的程序,用于两个分隔符

c - 如何将 char * 字符串转换为指向指针数组的指针并为每个索引分配指针值?

python - 如何将一个 numpy 数组中的元素添加到另一个特定索引处的元素?

javascript - 无法使用异步方法将数组传递给 View

c 在循环中为二维指针数组分配空间

c - Qemu-Arm 文件访问?

c - 该代码中没有 fflush 有什么区别吗?

python - 如何快速计算 numpy.array 中的相等元素?

javascript - Javascript 数组是原始数组吗?字符串?物体?