错误---Run-Time Check Failure #3

int ifornot(int input[], int output[],int length)
{
	Stack s;
	Init(s);
	int a =0, e, b = 0;
	if (!same(input, output, length))
		return 0;
	for (int i = 0; i < length; i++)
	{
		if (i == 0)
		{
			b = Get(input, output[i], length);
			for (int j = 0; j <= b; j++)
				push(s, input[j]);
			pop(s, e);
			a++;
		}
		else if (output[i] == GetTop(s))
		{
			while (GetTop(s) >= output[i])
			{
				pop(s, e);
				a++;
			}
		}
		else if (output[i] > GetTop(s))
		{
			for (int j = b + 1; j < Get(input, output[i], length); j++)
				push(s, input[j]);
			pop(s, e);
			a++;
			b = Get(input, output[i], length);
		}
		else if (output[i] <= GetTop(s))
			return 0;
		else
			return 0;
	}
	return a;
}

当开始没有给a初始化的时候,出现报错
Run-Time Check Failure #3 - The variable ‘a’ is being used without being initialized.
存在问题:
1.将a初始化之后不再报错,但整个程序完成后将初始化操作删掉又不报错
2.该函数是为了解决判断所给出栈顺序是否与能实现问题,但当前程序只能判断输入序列为递增有序数列,对于无序数列不能够正确判断

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值