请大家帮我写一个函数
老师让我写一个函数要求:getstr(char* str);要改变字符串str中的字符在main中调用此函数时显示修改后的字符串请帮忙啊?是用*str还是**str参数呢?
[解决办法]
说得不清不楚
改变字符串str? getstr(char*str){str[0]+=1;}
char c[10]={0};
getstr(c);
[解决办法]
*str
[解决办法]
*str
[解决办法]
getstr(char* str);//在调用该函数之前malloc str
getstr(char** str);//在该函数内调用malloc *str
[解决办法]
*str就可以了.应该不用在函数中动态分配内存,所以不用**str
[解决办法]
同意楼上的,如果需要修改str指针的话才传char**
[解决办法]
这两个函数对应你说的两种情况,
第一个是参数不用分配内存的情况.
void getstr(char* str)
{
str[2]= 'Y ';
}
void getstr2(char **str) //空指针作实参来带回内存的情况
{
*str=new char[4];
strcpy(*str, "yyy ");
}
void main()
{
char ch[4]= "nnn ";
getstr(ch); //第一种
printf( "%s\n ",ch);
char *p;
getstr2(&p); //第二种
printf( "%s\n ",p);
}