vc6.0的“通过输入,试着覆盖临近变量的值,以便更改程序执行流程”代码无法运行

img


任务为“通过输入,试着覆盖临近变量的值,以便更改程序执行流程”

  • 这篇博客: VS2017怎么调试中的 标题最近刚从VC6.0转向VS2017,换了个编译器,发现我不会调试了,专门研究了下,菜鸟和你一起看代码调试。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 首先看一个经典例题

    #define _CRT_SECURE_NO_WARNINGS 1
    
    #include<stdio.h>
    #include<Windows.h>
    
    int Change(int x, int y)
    {
    	int temp;
    	temp = x;
    	x = y;
    	y = temp;
    	return x, y;
    }
    int main()
    {
    	int num1, num2;
    	printf("请输入2个数");
    	scanf("%d %d", &num1, &num2);
    	Change(num1, num2);
    	printf("%d %d", num1, num2);
    	system("pause");
    	return 0;
    }
    

    在这里插入图片描述

    可以看到数并没有交换过来,逻辑似乎并没有错误,这时候就需要用调试了
    其次
    打开后会出现界面,如果代码不设置断点的话代码是会直接执行的
    因此需要将鼠标放置到最左边设置断点

    在这里插入图片描述
    这时候再点击开始调试在这里插入图片描述
    千万不要以为这是执行过了,我就是因为到这就没再进行下去困扰了我好久好久,继续输入数字在这里插入图片描述
    这时候想要看到调试的箭头就出来了,只不过没开启窗口而已在这里插入图片描述
    这时候就能开始想要的监控啦(按F10进行逐条语句的进行哦)

把void main()
放在代码的最后,然后接着写一段:
比如
{
char ch[10];
scanf("%s", ch);
int i = verify_password(ch);
if (i == 0) printf("ok!");
}