VS调试技巧和函数递归

一.Debug和Release

Debug就是调试bug,编辑Debug版本的可执行程序,其中包含调试信息,可以直接进行调试。(被称为调试版本)
Release用来发给用户,他进行了各种优化,内存更小,运行速度更快,(被称作发布版本)无法调试。

二.常用的调试快捷键

F9:创建和取消断点;
F5:启动调试,用来跳到运行逻辑上的断点处;
CTRL+F5:开始执行,不调试;
F10:逐过程,处理一个过程(一次函数调用,一条语句等),如果路过自定义函数时会直接跳过;
F11:逐语句,每执行一条语句,可以让执行逻辑进入函数内部。
条件断点:满足断电的条件才会触发断点。

栈区上的内存使用习惯:先使用高地址空间,再用低地址的空间。(X86+Debg环境)
在数组传参调试的时候,必须传数组名,否则只显示一个元素,如果是二维数组,后方必须加上行数,否则只显示一行。

三.函数递归 = 递推+回归

若函数递归无限的递归下去,就会造成栈溢出的问题,(Stack Overflow)每一次函数调用都会为此次调用分配内存空间,从栈区分配。

递归实践

//利用递归调用计算n的阶乘
#include <stdio.h>
int mul_n(int n)
{
	if (n == 1)
	{
		return 1;
	}
	else
	{
		return n * mul_n(n - 1);
	}
}
int main()
{
	int input = 0;
	scanf("%d", &input);
	int ret = mul_n(input);
	printf("%d", ret);
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值