c语言EXC_BAD_ACCESS (code=2, address=0x102a3bf74)-灵析社区

万码用户

我的代码如下: ``` c #include #include void permutation(char str[], int len, int cur) { if (cur == len - 1) { printf("%s\n", str); } char tmp; for (int i = cur; i < len; i++) { tmp = str[cur]; str[cur] = str[i]; str[i] = tmp; permutation(str, len, cur++); tmp = str[cur]; str[cur] = str[i]; str[i] = tmp; } } int main() { char* str = "abc"; int len = strlen(str); permutation(str, len, 0); } ``` 在str[cur] = str[i]这里报EXC_BAD_ACCESS ,但是我又不知道问题出在哪。还请各位大佬帮忙看看。 ![https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724816070910_8RDd.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724816070910_8RDd.png)

阅读量:228

点赞量:0

问AI
万码IY9FEO6U
两个问题 char* str = "abc"; -> char str[] = {'a','b','c',0}; cur++ -> cur+1