如果字符串是不可变的,为什么下面的代码在 turbo c++ 上运行

If Strings are immutable,why does the following code run on turbo c++

本文关键字:turbo 代码 c++ 运行 字符串 不可变 为什么 如果      更新时间:2023-10-16
char c[]="opop";
c[2]='k';

但是它应该给出总线错误,为什么它可以工作?

你拥有的是一个数组,而不是字符串文字。这是完全有效的代码。

char *c="opop";
c[2]='k';

将导致未定义的行为,并且很可能崩溃。

好读:
char a[] = "字符串"有什么区别;和字符 *p = "字符串";