如果字符串是不可变的,为什么下面的代码在 turbo c++ 上运行
If Strings are immutable,why does the following code run on turbo c++
char c[]="opop";
c[2]='k';
但是它应该给出总线错误,为什么它可以工作?
你拥有的是一个数组,而不是字符串文字。这是完全有效的代码。
char *c="opop";
c[2]='k';
将导致未定义的行为,并且很可能崩溃。
好读:
char a[] = "字符串"有什么区别;和字符 *p = "字符串";
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 在Linux for Windows上编译C++代码时出错
- 我的字符计数代码计算错误.为什么
- turbo 为什么我的C++代码中出现错误类型名称预期"错误?
- Turbo C++:为 malloc 函数生成目标代码
- turbo我的C++代码不起作用
- 使用标准库中的代码阻止输出在 Turbo C++ 中退出
- 如果字符串是不可变的,为什么下面的代码在 turbo c++ 上运行
- Turbo C++上的代码编译失败
- 如何将此C++代码转换为 Turbo C
- 使DEV++与Turbo c++的代码/头文件兼容
- Turbo c++和代码块
- Turbo C++ 和 GCC(在 Windows 上使用代码块)以不同的方式计算相同的三元表达式
- Turbo c++彩色代码