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

comparison between pointer and int C++ ellipse

本文关键字:之间 比较 整数 C++ 指针      更新时间:2023-10-16
#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;
}

为什么我在问题的两个 for 循环中总是出现错误5?它说的是指针和整数之间的比较。当参数 n 保持指针时,我如何解决这个问题。

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

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

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

*n = a;

在 for 循环中不能有地址。尝试取消引用指针。并请发布您的确切错误。