C++ 当满足IF语句时,替换字符串数组中的字符
我正在尝试创建一个方法,其中一个C++ 当满足IF语句时,替换字符串数组中的字符,c++,C++,我正在尝试创建一个方法,其中一个char“s”数组与另外两个charchar1和char2一起输入,这个名为substitute的方法将在数组中搜索,如果它发现char1的实例,后跟“!”,它将用char2替换char1 然而,当测试我的方法时,它似乎没有这样做,if语句永远不会得到满足 请帮忙 替代方法 void substitute(char* s, char c1, char c2) { int n = strlen(s); for (int i = 0; i <= n;
char
“s”数组与另外两个char
char1和char2
一起输入,这个名为substitute
的方法将在数组中搜索,如果它发现char1
的实例,后跟“!”,它将用char2
替换char1
然而,当测试我的方法时,它似乎没有这样做,if
语句永远不会得到满足
请帮忙
替代方法
void substitute(char* s, char c1, char c2)
{
int n = strlen(s);
for (int i = 0; i <= n; i++)
{
if(s[i] == c1 && s[i+1] == '!')
{
s[i] = c2;
}
i++;
}
}
void替换(字符*s、字符c1、字符c2)
{
int n=strlen(s);
for(int i=0;i您的代码两次递增i
,一次作为for
语句的一部分,另一次在循环体中。其效果是只检查偶数字符,跳过其他字符
char s[] = "la!bellabella!bel";
char c1 = 'a';
char c2 = 'x';
substitute(s,c1,c2);
cout << s << endl;