使c++程序崩溃的原因

本文总结了导致C++程序崩溃的几个关键因素,包括空指针引用、数组越界、除以零操作以及野指针问题。通过示例代码和编译指令的对比,探讨了这些错误如何影响程序的运行,并展示了不同编译选项下程序的运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使c++程序奔溃的原因总结:

  1. 空指针
void emptyPointer()
{
	cout << __FUNCTION__ << " " << __LINE__ << endl;
	int* p = NULL;
	*p = 5;
	cout << *p << endl;
}

2. 数组越界

void ArrayBounds()
{
		cout << __FUNCTION__ << " " << __LINE__ << endl;
		int array[5] = { 0 };
		for (int i = 0; i < 5; ++i)
		{
			array[i] = i;
		}
		for (int i = 0; i < 6; ++i)
		{
			cout  << array[i] <<endl;
		}
}

 

3. 除数为零

void DivideByZero()
{
	cout << __FUNCTION__ << " " << __LINE__ << endl;
	int a = 8;
	for (int i = 5; i > -1; --i)
	{
		printf("array[%d]=\n", array[i]);
		int b = a / i;
		cout << b << endl;
	}
}

 

4. 野指

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinran0703

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值