Vex*_*toR 6 c++ arrays pointers char
为什么会说"内存访问违规"?
char* str = "HelloGuys";
int len = strlen(str);
for (int i=0; i<(len/2); ++i){
char t = str[len-i-1];
str[len-i-1] = str[i]; //error
str[i] = t;
}
Run Code Online (Sandbox Code Playgroud)
Pra*_*rav 22
字符串文字存储在内存的只读部分中.任何修改字符串文字内容的尝试都会调用Undefined Behavior(大多数实现中的分段错误).
请使用字符数组
char str[] = "HelloGuys";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4054 次 |
| 最近记录: |