VS中C语言调试逐语句和逐过程的区别

以vs程序为例,其逐语句调试和逐过程调试的区别仅在于它们处理函数调用的方式不同,这两个命令都指示调试器执行下一行的代码。如果某一行包含函数调用,“逐语句”仅执行调用本身,然后在函数内的第一个代码行出停止,而“逐过程”执行整个函数,然后在函数外的第一行处停止。

这两个命令都指示调试器执行下一行的代码。如果某一行包含函数调用,“逐语句”仅执行调用本身,然后在函数内的第一个代码行处停止。而“逐过程”执行整个函数,然后在函数外的第一行处停止。如果要查看函数调用的内容,请使用“逐语句”。若要避免单步执行函数,请使用“逐过程”。

如果我们在printf()设置了断点,按下“逐过程”按钮或F10键,程序就会执行 printf(),并暂停在下一行代码处。printf()是一个函数,它本身由多条语句构成,如果你希望进入printf()函数内部,查看整个函数的执行过程,可以点击“逐语句”按钮,或者按F11键,这样程序就会进入printf()所在的源文件。

当需要跳出函数时,可以点击“跳出”按钮,或者按Shif+F11键,就会返回刚才的代码。逐过程(F10)和逐语句(F11)都可以用来进行单步调试,但是它们有所区别:
逐过程(F10)在遇到函数时,会把函数从整体上看做一条语句,不会进入函数内部;
逐语句(F11)在遇到函数时,认为函数由多条语句构成,会进入函数内部。

逐语句(F10)不仅可以进入库函数的内部,还可以进入自定义函数内部。在实际的调试过程中,两者结合可以发挥更大的威力。断点+查看/修改变量+逐过程调试+逐语句调试,这足以解决绝大多数逻辑问题,到此,初学者就已经学到了调试的基本技能。
 

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在C语言,复合语句是指一组语句被放在一个大括号"{}"内的语句块。复合语句可以在函数使用,也可以在其他语句的内部使用,例如循环语句。在一个复合语句内,可以定义变量并执行多条语句,它们将作为整体被该语句解释。 ### 回答2: C语言的函数复合语句是指在一个函数体内使用一对大括号{}括起来的多条语句的集合。它是一种用来实现更复杂的功能以及提高代码的可读性的方法。 函数复合语句可以包含多条语句,这些语句按照顺序依次执行,并且可以定义局部变量。在函数复合语句内定义的局部变量只在该复合语句内部有效,出了复合语句就会被销毁,这可以避免变量的冲突和重复使用,提高程序的安全性和可靠性。 函数复合语句也可以内嵌在其他语句,例如可以将一个复合语句嵌套在if语句或循环语句。这样的嵌套可以提供更复杂的条件执行和循环控制。 使用函数复合语句可以将一段逻辑上相关的代码组织起来,并且可以使用大括号大致表示代码的边界。这样做可以方便代码的维护和调试,也使得代码更加易于理解。 总之,函数复合语句是C语言用来组织和实现复杂功能的一种语法特性。它可以定义局部变量,按照顺序执行多条语句,并且可以嵌套在其他语句。使用函数复合语句可以提高代码的可读性和可维护性,使程序更加安全和可靠。 ### 回答3: C语言的函数复合语句是指在函数体内使用{}括号括起来的一个或多个语句的组合。 函数复合语句的主要作用是将多个语句组合成一个逻辑整体,从而实现特定的功能。在C语言,函数体语句是按照顺序依次执行的,复合语句可以将多个语句按照自定义的顺序组合在一起,以实现更复杂的操作。 函数复合语句可以包含各种类型的语句,比如变量声明、赋值语句、条件语句、循环语句等。在复合语句,可以定义局部变量或临时变量,这些变量的作用域限制在函数内部,不会对其他函数产生影响。 复合语句语句可以根据需要嵌套使用,也可以使用控制流语句控制程序的执行流程。例如,可以使用if语句进行条件判断,根据条件的不同执行不同的语句;还可以使用for或while语句进行循环操作,多次执行同一组语句。 通过使用函数复合语句,可以简化代码结构,提高代码的可读性和维护性。同时,复合语句还可以将代码块作为一个整体进行调试和测试,便于排查错误。 总之,函数复合语句是C语言用{}括起来的一个或多个语句的组合,可以实现多个语句按照自定义顺序组合在一起,以实现特定的功能。它是C语言的基本语法结构之一,常用于定义函数体或其他需要组合多条语句的场合。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值