gpt4 book ai didi

c - 用不同的字符替换所指向的字符

转载 作者:行者123 更新时间:2023-11-30 18:13:07 24 4
gpt4 key购买 nike

更具体地说,我试图用四个星号替换指针指向的四个字符单词,而不使用字符数组。因此,如果我有单词 char *word = "Word",使用此方法将返回 ****

这是我到目前为止所拥有的,

void four_stars(char *start){
char *temp = start;
int length = 0;
while(*temp){
length++;
temp++;
}
if(length==4){
while(length>=0){
start = '*';
start++;
length--;
}
}
}

我用单词 char *word = "This" 对其进行了测试,输出只是 This,这是同一个单词。我对 C 编程非常陌生,那么我做错了什么?

最佳答案

如果您有char *word = "Word",则无法修改"Word"。这是因为,在 C 和 C++ 中,字符串文字是不可修改的。您必须从可写内存区域中的字符串开始,例如:

char word[] = "Word";

char *word = malloc(5);
strcpy(word, "Word");

那么您的函数就可以工作(如果您将 start = '*'; 更改为 *start = '*';)。

关于c - 用不同的字符替换所指向的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27160456/

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