#include <iostream>
using namespace std;
char problem5(char alc[], char a, int *n);
int main() {
char aloc1[]={ 'g','g','c','g','a','g','g','g','t','g'};
int size=sizeof(aloc1)/sizeof(aloc1[0]);
cout << aloc1 << endl;
int nalc = problem5(aloc1, 'g' ,&size);
cout << nalc << endl;
return 0;
}
char problem5(char alc[], char c, int *n){
int a = 0;
for(int i = 0; i < n; i++){
if(alc[0]!=c){
a++;
}
}
int nalc[a];
int b=0;
for(int j = 0; j < n; j++){
if(alc[0]!=c){
nalc[b]=alc[j];
b++;
}
}
*n=&a;
return nalc;
}
为什么我在问题5的两个for循环中一直有错误? 它说像指针和int之间的比较。 我怎么能解决这个问题,而论证n仍然是指针。
答案 0 :(得分:1)
使用*n
访问n
指定的值:
for(int i = 0; i < *n; i++){
并将n
指向的值更改为等于a
:
*n = a;
答案 1 :(得分:0)
您不能在for循环中拥有地址。尝试解除引用指针。并且还请发布您的确切错误。