如何检查和替换数组 C++ 中的元素

how to check and replace an element in an array c++

本文关键字:元素 C++ 数组 检查和 替换      更新时间:2023-10-16

我正在接收一串输入并将其放入一个称为补码的数组中,以便我可以将每个元素与"A"、"G"、"C"和"T"进行比较,并进行替换以生成DNA链的补体。我正在尝试使用它,但它不起作用:

for(int i=0; i<x; i++){
  if(complement[i] == "T")
 complement[i] = "A";

我无法使用替换函数,因为它会遍历整个数组并完全进行替换,但我需要逐个字符进行,以便 AAGCT 不会将 A 更改为 T,然后将 T 更改回 A。我用C++这样做,但任何其他可以缓解这种情况的语言都可以。谢谢。

原因是您正在比较字符和字符串。'A' != "A" 一个是字符,另一个是指针。所以你要做的是

if (complement[i] == 'T')

我猜complement被声明为类似

char complement[]

也就是说,char的数组。如果确实如此,那么

if(complement[i] == "T")...

不做你想的那样。

更重要的是,

complement[i] = "A";

在这里,您将 C 字符串文本分配给 char ,这可能不会很好地结束。

我建议复习一下你的C,更具体地说,数组,char s,C字符串和指针。