c++11 - 使用在线编译器时出现 C++ 分段错误,但在 VS Code 中同样有效
问题描述
我是 C++ 编程的新手。我Segmentation Fault
在在线编译器中编译我的代码时遇到错误,但是当我尝试使用Visual Studio Code
和g++
离线编译它时(意味着在我的本地机器中)工作正常。
Code
我试过的是
`
#include <iostream>
int main() {
int *ptr;
*ptr = 10;
cout<<*ptr; //Prints 10
cout<<ptr; //Prints Some garbage address
}
但是上面的程序不能在在线编译器中工作(使用 onlinegdb)。我的机器配置
g++ 11
Visual Studio Code 2016
解决方案
这行*ptr = 10;
从根本上是错误的,因为您不能通过取消引用指针来分配值。
这样做的正确方法是:
#include <iostream>
using namespace std;
int a=10;
int *ptr;
ptr=&a;
cout<<ptr<<endl;
cout<<*ptr<<endl;
推荐阅读
- python - 我试图让 X 轴用字符串而不是数字:字符串是(“电影”,“电视节目”),Y 轴用数字填充,直到 8000
- r - R,根据R中另一列的值从一列中获取整数
- ios - iOS UICollectionViewCell 删除计时器
- json - 如何将正文传递给休息 API
- python - 纯 python 作为后端 Web 应用程序
- python - 运行烧瓶服务器时出现“flask.cli.NoAppException:无法导入”项目“错误
- linux - 将文件以数字结尾的etc复制到test1目录
- python - 如何在不手动创建敌人的情况下连续生成敌人方块?
- reactjs - 生产中 React 应用程序中 node_modules 和模块文件夹的用途
- python - 如何遍历具有多个字符的字符串并识别浮点数和整数?