Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有人可以指出这个错误
#include <stdio.h> void modify (char*s,int x,int y) { s[x]=s[y]; } main() { char* s = "random"; modify(s,1,2); }
节目突然结束。我知道这可能是一个非常简单的问题,但我是 c 新手。谢谢 !
这是因为它在分配期间崩溃modify。原因是指针指向一个不能修改的常量字符串。
modify
如果要修改字符串,可以将其声明为数组:
char s[] = "random";
就是这样。我曾经遇到过同样的问题。你应该替换这一行:
char *s = "random";
与以下一个: