我在下面有一个简单的函数,它交换一个字符数组的两个字符.但是,我在Bla.exe中的0x01151cd7处获得"未处理的异常:0xC0000005:访问冲突写入位置0x011557a4." 错误.两个索引(左侧和右侧)都在数组的限制范围内.我究竟做错了什么?
void swap(char* s, int left, int right) {
char tmp = s[left];
s[left] = s[right];
s[right] = tmp;
}
swap("ABC", 0, 1);
Run Code Online (Sandbox Code Playgroud)
我正在使用VS2010与非托管C/C++.谢谢!
您无法修改字符串文字.而是试试这个:
char s[] = "ABC"
swap(s, 0, 1);
printf("%s\n", s);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3888 次 |
| 最近记录: |