11 memory-management access-violation
我有一个简单的程序,我得到访问冲突*(str + start).为什么?我应该能够改变它.对?
void fn()
{
char *str = "Hello wordl!";
int end = strlen(str);
int start = 0;
end--;
while(start < end)
{
*(str + start) = *(str + end); <--- Access violation writing location *(str + Start).
end--;
start++;
}
}
Run Code Online (Sandbox Code Playgroud)
Mic*_*ael 26
char *str = "Hello World";是一个const字符串,不能修改.编译器可以将其放入不可写的位置,从而导致崩溃.
替换声明char str[] = "Hello World";应该执行您想要的操作,将字符串放入堆栈中的可修改数组中.
| 归档时间: |
|
| 查看次数: |
59862 次 |
| 最近记录: |