将数组中的字符x更改为字符y

Changing Char x to Char y in a Array.

本文关键字:字符 数组      更新时间:2023-10-16

在下面的代码中,我遇到了一个改变数组的问题。我的问题是为什么funOne函数不改变我传入的数组

#include <iostream>
void funOne(char *arr, char x, char y, int z);
void print(char *array);
void print(char *array){
std::cout << array << std::endl;
}
void funOne(char *arr, char x, char y, int z){
    z =  sizeof(arr);
    for(int i = 0; i<z; i++){
    if(arr[i] == x){
    x == y; 
    }
    }
}
int main(){
    char arra[] = {'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b'};
    funOne(arra, 'a', 'c', 10);
    print(arra);

    system("pause");
    return 0;
}
x == y;

哇。。。?

  • ==运算符用于比较事物
  • =运算符用于分配事物

此外,我想你想分配给arr[i],而不是x:

arr[i] = y;

多加小心。

最后一个问题是z是错误的,因为arr不是您的数组,而是指向您的数组的指针…并且CCD_ 7是固定的。您必须将数组的长度作为另一个参数传递给函数。

或者,你知道,使用std::vector,因为这是21世纪!!