gpt4 book ai didi

更改字符串以指向函数中的下一个字符

转载 作者:太空宇宙 更新时间:2023-11-04 06:19:33 25 4
gpt4 key购买 nike

#include <stdio.h>


void change(char *str)
{
(*str++);
return;
}

int main()
{
char *str = "ABC";
printf("before change %s \n",str);
change(str);
printf("after change %s \n",str);
return 0;
}

程序的输出是

ABC
ABC

我希望输出为

ABC
BC

不想返回string,需要在change函数中修改str;更改函数的返回类型应保持无效。我不知道该怎么做。

我确实尝试用谷歌搜索它,但没有找到解决方案。

最佳答案

在 C 中,如果你想改变一个函数的参数值,你需要通过指针获取该参数。并且由于您在这里尝试更改指针,因此它需要是指向指针的指针:

void change(char **str)
{
(*str)++;
}

然后:

change(&str);

关于更改字符串以指向函数中的下一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38291621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com