比如
char *a = "123_56";
把 a 中的下划线改为 4
还有我这样写 为什么不行: *(a+3)='4';
char *a = "123_56";
把 a 中的下划线改为 4
还有我这样写 为什么不行: *(a+3)='4';
1
cfans1993 Jul 14, 2016
http://www.linuxidc.com/Linux/2013-09/89933.htm
善用搜索; 选好教材认真看 |
2
paradoxs Jul 14, 2016
"123_56"是存在常量区里面的, 它无法被修改.
要改里面某一个元素要用数组. |
3
wevsty Jul 14, 2016
因为"123_56"是一个常量
|
4
laoyur Jul 14, 2016
char *a = "123_56";
这货是字符串常量,存放在静态区,怎么可能让你给改了呢 |
5
starcraft Jul 14, 2016 via iPhone
未定义行为,视编译器而定。
|
6
lechain Jul 14, 2016 via Android
static char a[]="123_56"; (滑稽脸
|
7
yuann72 OP 懂了 谢上面各位
|