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

时间:2014-02-25 16:35:22

标签: c++

我正在接受一串输入并将其放入一个名为complement的数组中,这样我就可以将每个元素与“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 ++中这样做,但任何其他可以缓解这种情况的语言都可以。谢谢。

2 个答案:

答案 0 :(得分:3)

原因是您正在将字符与字符串进行比较。 'A'!=“A”一个是char,另一个是指针。 所以你需要做的是

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

答案 1 :(得分:1)

我猜测complement被宣布为

char complement[]

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

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

不符合您的想法。

更重要的是,

complement[i] = "A";

这里你要为char分配一个C字符串文字,这可能不会很好。

我建议刷新你的C,更具体地来说,数组,char,C字符串和指针。