指针和int C ++椭圆之间的比较

时间:2015-02-27 01:57:48

标签: c++

#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仍然是指针。

2 个答案:

答案 0 :(得分:1)

使用*n访问n指定的值:

for(int i = 0; i < *n; i++){

并将n指向的值更改为等于a

*n = a;

答案 1 :(得分:0)

您不能在for循环中拥有地址。尝试解除引用指针。并且还请发布您的确切错误。