,指针数组的赋值。请看注释部分的疑问
求助,指针数组的赋值。请看注释部分的疑问。
------解决方案--------------------
因为你的这个char * p 是一个常量字符串,不允许修改,改成这样定义就可以了
char p[] = "I love you China, do you love me?";
------解决方案--------------------
这样的话,你就把这个字符串拷贝进数组了,对于数组中的内容,可以随便修改呀. 原来的字符串还是不变的呀
#include <iostream>
#include <cstring>
using namespace std ;
int replacefun(char* str, char c1, char c2);
int main(void)
{
char * p = "I love you China, do you love me?";
int m = 0;
m = replacefun(p, 'o', 'c');
cout << m << endl;
return 0;
}
int replacefun(char* str, char c1, char c2)
{
int num = 0;
while (*str != '\0')
{
if (*str == c1)
{
*str = c2; // 这句话调试的时候内存报错
num++;
}
}
return num;
}
------解决方案--------------------
因为你的这个char * p 是一个常量字符串,不允许修改,改成这样定义就可以了
char p[] = "I love you China, do you love me?";
------解决方案--------------------
这样的话,你就把这个字符串拷贝进数组了,对于数组中的内容,可以随便修改呀. 原来的字符串还是不变的呀