该代码有什么问题,我只想替换DNA的基础。:
V
#include <stdio.h>
int getDna(){
int i,t;
printf("How many protein does the DNA have?");
scanf("%d",&t);
char dnaPtn[t],rDnaPtn[t];
printf("Enter the DNA: ");
scanf("%s",&dnaPtn);
for(i=0;i<t;i++){
switch(dnaPtn[i]){
case 'a':
rDnaPtn[i] = "t";
break;
case 'c':
rDnaPtn[i] = "g";
break;
case 'g':
rDnaPtn[i] = "c";
break;
case 't':
rDnaPtn[i] = "a";
break;
default:
break;
}
}
printf("%s",rDnaPtn);
}
int main(){
getDna();
return 0;
}
的输出是:
DNA含有多少蛋白质:5
agcta
有什么问题?
答案 0 :(得分:4)
在您的代码中,
rDnaPtn[i] = "t";
应该是
rDnaPtn[i] = 't';
因为""
表示字符串,但您想要的是char
类型。
之后,
scanf("%s",&dnaPtn);
可以重写为scanf("%s",dnaPtn);
strlen()
。启用编译器警告。