<分区>
我想弄清楚为什么这行不通,但我不太确定。
void main(void){
char* s = "aBCde F. hjiodhfvev, . efof Gh";
to_lower_case(s);
printf("%s",s);
}
to_lower_case()
函数只是一个随机函数,其功能如其名。我想这与被声明为 constant
的字符串有关。
<分区>
我想弄清楚为什么这行不通,但我不太确定。
void main(void){
char* s = "aBCde F. hjiodhfvev, . efof Gh";
to_lower_case(s);
printf("%s",s);
}
to_lower_case()
函数只是一个随机函数,其功能如其名。我想这与被声明为 constant
的字符串有关。
最佳答案
这就是问题所在
char* s = "aBCde F. hjiodhfvev, . efof Gh";
字符串文字(引号中的文字)是只读的。您无法修改它们。
你应该声明为
char s[] = "aBCde F. hjiodhfvev, . efof Gh";
关于c - 在 C 函数中修改字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48550588/