替换数组中的char

时间:2018-03-07 09:53:48

标签: c

我正在尝试构建一个算法,其中我有两个数组,即

char cipher[MAX_CIPHER_SIZE+1]={0}, text[MAX_TEXT_SIZE+1]={0};

所以在这种情况下,任何一个数组都可能比另一个更大。因此,使用密码数组,我想找到一个匹配的字符,并将其替换为密码数组中的下一个字符。所以在这种情况下

  int count=0;

  for(i=0;i<=ciphercount;i++){

    for(j=0;j<=textcount;j++){
        if(cipher[i] == text[j] && cipher[count++] != '\0')
            {
                temp = cipher[count++];
                text[j] = cipher[count++];
                printf("%c\n",temp);
                temp = "";
        }
    }
}

不幸的是,它找到并跳过了分配部分。另外,如果我输入一个长文本,它会缩短文本。这不包括大部分文本。

1 个答案:

答案 0 :(得分:0)

我不确定你的代码的目的是什么,但是-Bob__想知道,我担心数量。 您一直在增加它,并且从未将其重置为0。 因此,在更糟糕的情况下,最后计数等于ciphercount * textcount * 3,它大于MAX_CIPHER_SIZE + 1,我猜。